UNPKG

@nfen/webcrypto-ts

Version:
72 lines 2.72 kB
/** * Code related to RSA_PSS * @module */ import * as params from "../params.js"; import { RsaPssPrivCryptoKey, RsaPssProxiedCryptoKeyPair, RsaPssProxiedPrivCryptoKey, RsaPssProxiedPubCryptoKey, RsaPssPubCryptoKey } from "./shared.js"; /** * Generate a new RSA_PSS keypair * @example * ```ts * const keyPair = await RSA_PSS.generateKey(); * ``` */ export declare const generateKey: (algorithm?: Omit<params.EnforcedRsaHashedKeyGenParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsaPssProxiedCryptoKeyPair>; /** * Generate a new RSA_PSS keypair * @alias generateKey * @example * ```ts * const keyPair = await RSA_PSS.generateKeyPair(); * ``` */ export declare const generateKeyPai: (algorithm?: Omit<params.EnforcedRsaHashedKeyGenParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsaPssProxiedCryptoKeyPair>; /** * Import an RSA_PSS public or private key * @example * ```ts * const key = await RSA_PSS.importKey("jwk", pubKey, { hash: "SHA-512" }, true, ['verify']); * ``` */ export declare const importKey: (format: KeyFormat, key: BufferSource | JsonWebKey, algorithm: Omit<params.EnforcedRsaHashedImportParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsaPssProxiedPrivCryptoKey | RsaPssProxiedPubCryptoKey>; /** * Export an RSA_PSS public or private key * @example * ```ts * const pubKeyJwk = await RSA_PSS.importKey("jwk", keyPair.publicKey.self); * ``` * @example * ```ts * const pubKeyJwk = await keyPair.publicKey.importKey("jwk"); * ``` */ export declare const exportKey: (format: KeyFormat, key: RsaPssPrivCryptoKey | RsaPssPubCryptoKey) => Promise<ArrayBuffer | JsonWebKey>; /** * Sign a given payload * @example * ```ts * const message = new TextEncoder().encode("a message"); * const signature = await RSA_PSS.sign(128, keyPair.privateKey.self, message); * ``` * @example * ```ts * const message = new TextEncoder().encode("a message"); * const signature = await keyPair.privateKey.sign(128, message); * ``` */ export declare const sign: (saltLength: number, key: RsaPssPrivCryptoKey, data: BufferSource) => Promise<ArrayBuffer>; /** * Verify a given signature * @example * ```ts * const message = new TextEncoder().encode("a message"); * const isVerified = await ECDSA.verify(128, keyPair.publicKey.self, signature, message); * ``` * @example * ```ts * const message = new TextEncoder().encode("a message"); * const isVerified = await keyPair.publicKey.verify(128, signature, message); * ``` */ export declare const verify: (saltLength: number, key: RsaPssPubCryptoKey, signature: BufferSource, data: BufferSource) => Promise<boolean>; //# sourceMappingURL=rsa_pss.d.ts.map