UNPKG

owltech

Version:
38 lines (37 loc) 1.33 kB
/** * Copyright 2019 Google LLC. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /// <reference types="node" /> export interface JwkCertificate { kty: string; alg: string; use?: string; kid: string; n: string; e: string; } export interface CryptoSigner { update(data: string): void; sign(key: string, outputFormat: string): string; } export interface Crypto { sha256DigestBase64(str: string): Promise<string>; randomBytesBase64(n: number): string; verify(pubkey: string | JwkCertificate, data: string | Buffer, signature: string): Promise<boolean>; createSign(algorithm: string): CryptoSigner; decodeBase64StringUtf8(base64: string): string; encodeBase64StringUtf8(text: string): string; } export declare function createCrypto(): Crypto;