UNPKG

tink-crypto

Version:

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

25 lines 2.53 kB
/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { SecurityException } from '../exception/security_exception'; import { PbEncryptedKeyset, PbKeyset } from './proto'; /** * KeysetWriter knows how to write a keyset or an encrypted keyset. * * @final */ export class BinaryKeysetWriter { encodeBinary(keyset) { // keep serializeBinary calls monomorphic if (keyset instanceof PbKeyset) { return keyset.serializeBinary(); } if (keyset instanceof PbEncryptedKeyset) { return keyset.serializeBinary(); } throw new SecurityException('unexpected type for keyset.'); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5X2tleXNldF93cml0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9pbnRlcm5hbC9iaW5hcnlfa2V5c2V0X3dyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUVwRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFZLENBQUMsTUFBa0M7UUFDN0MseUNBQXlDO1FBQ3pDLElBQUksTUFBTSxZQUFZLFFBQVEsRUFBRTtZQUM5QixPQUFPLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNqQztRQUNELElBQUksTUFBTSxZQUFZLGlCQUFpQixFQUFFO1lBQ3ZDLE9BQU8sTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsTUFBTSxJQUFJLGlCQUFpQixDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQge1NlY3VyaXR5RXhjZXB0aW9ufSBmcm9tICcuLi9leGNlcHRpb24vc2VjdXJpdHlfZXhjZXB0aW9uJztcbmltcG9ydCB7S2V5c2V0V3JpdGVyfSBmcm9tICcuL2tleXNldF93cml0ZXInO1xuaW1wb3J0IHtQYkVuY3J5cHRlZEtleXNldCwgUGJLZXlzZXR9IGZyb20gJy4vcHJvdG8nO1xuXG4vKipcbiAqIEtleXNldFdyaXRlciBrbm93cyBob3cgdG8gd3JpdGUgYSBrZXlzZXQgb3IgYW4gZW5jcnlwdGVkIGtleXNldC5cbiAqXG4gKiBAZmluYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJpbmFyeUtleXNldFdyaXRlciBpbXBsZW1lbnRzIEtleXNldFdyaXRlciB7XG4gIGVuY29kZUJpbmFyeShrZXlzZXQ6IFBiS2V5c2V0fFBiRW5jcnlwdGVkS2V5c2V0KTogVWludDhBcnJheSB7XG4gICAgLy8ga2VlcCBzZXJpYWxpemVCaW5hcnkgY2FsbHMgbW9ub21vcnBoaWNcbiAgICBpZiAoa2V5c2V0IGluc3RhbmNlb2YgUGJLZXlzZXQpIHtcbiAgICAgIHJldHVybiBrZXlzZXQuc2VyaWFsaXplQmluYXJ5KCk7XG4gICAgfVxuICAgIGlmIChrZXlzZXQgaW5zdGFuY2VvZiBQYkVuY3J5cHRlZEtleXNldCkge1xuICAgICAgcmV0dXJuIGtleXNldC5zZXJpYWxpemVCaW5hcnkoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlY3VyaXR5RXhjZXB0aW9uKCd1bmV4cGVjdGVkIHR5cGUgZm9yIGtleXNldC4nKTtcbiAgfVxufVxuIl19