@nfen/webcrypto-ts
Version:
Enforced Webcrypto wrapper
72 lines • 2.72 kB
TypeScript
/**
* 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