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.

33 lines 3.29 kB
/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { BinaryKeysetReader } from './binary_keyset_reader'; import { BinaryKeysetWriter } from './binary_keyset_writer'; import { KeysetHandle } from './keyset_handle'; const binaryKeysetWriter = new BinaryKeysetWriter(); /** * Static methods for reading or writing cleartext keysets. * * @final */ export class CleartextKeysetHandle { /** * Serializes a KeysetHandle to binary. * */ static serializeToBinary(keysetHandle) { return binaryKeysetWriter.encodeBinary(keysetHandle.getKeyset()); } /** * Creates a KeysetHandle from a binary representation of a keyset. * */ static deserializeFromBinary(keysetBinary) { const reader = BinaryKeysetReader.withUint8Array(keysetBinary); const keysetFromReader = reader.read(); return new KeysetHandle(keysetFromReader); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJ0ZXh0X2tleXNldF9oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9pbnRlcm5hbC9jbGVhcnRleHRfa2V5c2V0X2hhbmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0FBRXBEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxZQUEwQjtRQUNqRCxPQUFPLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFlBQXdCO1FBQ25ELE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQge0JpbmFyeUtleXNldFJlYWRlcn0gZnJvbSAnLi9iaW5hcnlfa2V5c2V0X3JlYWRlcic7XG5pbXBvcnQge0JpbmFyeUtleXNldFdyaXRlcn0gZnJvbSAnLi9iaW5hcnlfa2V5c2V0X3dyaXRlcic7XG5pbXBvcnQge0tleXNldEhhbmRsZX0gZnJvbSAnLi9rZXlzZXRfaGFuZGxlJztcblxuY29uc3QgYmluYXJ5S2V5c2V0V3JpdGVyID0gbmV3IEJpbmFyeUtleXNldFdyaXRlcigpO1xuXG4vKipcbiAqIFN0YXRpYyBtZXRob2RzIGZvciByZWFkaW5nIG9yIHdyaXRpbmcgY2xlYXJ0ZXh0IGtleXNldHMuXG4gKlxuICogQGZpbmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGVhcnRleHRLZXlzZXRIYW5kbGUge1xuICAvKipcbiAgICogU2VyaWFsaXplcyBhIEtleXNldEhhbmRsZSB0byBiaW5hcnkuXG4gICAqXG4gICAqL1xuICBzdGF0aWMgc2VyaWFsaXplVG9CaW5hcnkoa2V5c2V0SGFuZGxlOiBLZXlzZXRIYW5kbGUpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gYmluYXJ5S2V5c2V0V3JpdGVyLmVuY29kZUJpbmFyeShrZXlzZXRIYW5kbGUuZ2V0S2V5c2V0KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXlzZXRIYW5kbGUgZnJvbSBhIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBhIGtleXNldC5cbiAgICpcbiAgICovXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZUZyb21CaW5hcnkoa2V5c2V0QmluYXJ5OiBVaW50OEFycmF5KTogS2V5c2V0SGFuZGxlIHtcbiAgICBjb25zdCByZWFkZXIgPSBCaW5hcnlLZXlzZXRSZWFkZXIud2l0aFVpbnQ4QXJyYXkoa2V5c2V0QmluYXJ5KTtcbiAgICBjb25zdCBrZXlzZXRGcm9tUmVhZGVyID0gcmVhZGVyLnJlYWQoKTtcbiAgICByZXR1cm4gbmV3IEtleXNldEhhbmRsZShrZXlzZXRGcm9tUmVhZGVyKTtcbiAgfVxufVxuIl19