webcrypto-core
Advanced tools
Comparing version 1.0.6 to 1.0.7
@@ -28,2 +28,65 @@ /** | ||
class PemConverter { | ||
static toArrayBuffer(pem) { | ||
const base64 = pem | ||
.replace(/-{5}(BEGIN|END) .*-{5}/g, "") | ||
.replace("\r", "") | ||
.replace("\n", ""); | ||
return Convert.FromBase64(base64); | ||
} | ||
static toUint8Array(pem) { | ||
const bytes = this.toArrayBuffer(pem); | ||
return new Uint8Array(bytes); | ||
} | ||
static fromBufferSource(buffer, tag) { | ||
const base64 = Convert.ToBase64(buffer); | ||
let sliced; | ||
let offset = 0; | ||
const rows = []; | ||
while (true) { | ||
sliced = base64.slice(offset, offset = offset + 64); | ||
if (sliced.length) { | ||
rows.push(sliced); | ||
if (sliced.length < 64) { | ||
break; | ||
} | ||
} | ||
else { | ||
break; | ||
} | ||
} | ||
const upperCaseTag = tag.toUpperCase(); | ||
return `-----BEGIN ${upperCaseTag}-----\n${rows.join("\n")}\n-----END ${upperCaseTag}-----`; | ||
} | ||
static isPEM(data) { | ||
return /-----BEGIN .+-----[A-Za-z0-9+\/\+\=\s\n]+-----END .+-----/i.test(data); | ||
} | ||
static getTagName(pem) { | ||
if (!this.isPEM(pem)) { | ||
throw new Error("Bad parameter. Incoming data is not right PEM"); | ||
} | ||
const res = /-----BEGIN (.+)-----/.exec(pem); | ||
if (!res) { | ||
throw new Error("Cannot get tag from PEM"); | ||
} | ||
return res[1]; | ||
} | ||
static hasTagName(pem, tagName) { | ||
const tag = this.getTagName(pem); | ||
return tagName.toLowerCase() === tag.toLowerCase(); | ||
} | ||
static isCertificate(pem) { | ||
return this.hasTagName(pem, "certificate"); | ||
} | ||
static isCertificateRequest(pem) { | ||
return this.hasTagName(pem, "certificate request"); | ||
} | ||
static isCRL(pem) { | ||
return this.hasTagName(pem, "x509 crl"); | ||
} | ||
static isPublicKey(pem) { | ||
return this.hasTagName(pem, "public key"); | ||
} | ||
} | ||
class BufferSourceConverter { | ||
@@ -50,2 +113,6 @@ static toArrayBuffer(data) { | ||
function isJWK(data) { | ||
return typeof data === "object" && "kty" in data; | ||
} | ||
class ProviderCrypto { | ||
@@ -169,2 +236,3 @@ async digest(algorithm, data) { | ||
this.checkKeyFormat(format); | ||
this.checkKeyData(format, keyData); | ||
this.checkAlgorithmName(algorithm); | ||
@@ -227,2 +295,15 @@ this.checkImportParams(algorithm); | ||
} | ||
checkKeyData(format, keyData) { | ||
if (!keyData) { | ||
throw new TypeError("keyData: Cannot be empty on empty on key importing"); | ||
} | ||
if (format === "jwk") { | ||
if (!isJWK(keyData)) { | ||
throw new TypeError("keyData: Is not JsonWebToken"); | ||
} | ||
} | ||
else if (!BufferSourceConverter.isBufferSource(keyData)) { | ||
throw new TypeError("keyData: Is not ArrayBufferView or ArrrayBuffer"); | ||
} | ||
} | ||
prepareData(data) { | ||
@@ -807,65 +888,2 @@ return BufferSourceConverter.toArrayBuffer(data); | ||
class PemConverter { | ||
static toArrayBuffer(pem) { | ||
const base64 = pem | ||
.replace(/-{5}(BEGIN|END) .*-{5}/g, "") | ||
.replace("\r", "") | ||
.replace("\n", ""); | ||
return Convert.FromBase64(base64); | ||
} | ||
static toUint8Array(pem) { | ||
const bytes = this.toArrayBuffer(pem); | ||
return new Uint8Array(bytes); | ||
} | ||
static fromBufferSource(buffer, tag) { | ||
const base64 = Convert.ToBase64(buffer); | ||
let sliced; | ||
let offset = 0; | ||
const rows = []; | ||
while (true) { | ||
sliced = base64.slice(offset, offset = offset + 64); | ||
if (sliced.length) { | ||
rows.push(sliced); | ||
if (sliced.length < 64) { | ||
break; | ||
} | ||
} | ||
else { | ||
break; | ||
} | ||
} | ||
const upperCaseTag = tag.toUpperCase(); | ||
return `-----BEGIN ${upperCaseTag}-----\n${rows.join("\n")}\n-----END ${upperCaseTag}-----`; | ||
} | ||
static isPEM(data) { | ||
return /-----BEGIN .+-----[A-Za-z0-9+\/\+\=\s\n]+-----END .+-----/i.test(data); | ||
} | ||
static getTagName(pem) { | ||
if (!this.isPEM(pem)) { | ||
throw new Error("Bad parameter. Incoming data is not right PEM"); | ||
} | ||
const res = /-----BEGIN (.+)-----/.exec(pem); | ||
if (!res) { | ||
throw new Error("Cannot get tag from PEM"); | ||
} | ||
return res[1]; | ||
} | ||
static hasTagName(pem, tagName) { | ||
const tag = this.getTagName(pem); | ||
return tagName.toLowerCase() === tag.toLowerCase(); | ||
} | ||
static isCertificate(pem) { | ||
return this.hasTagName(pem, "certificate"); | ||
} | ||
static isCertificateRequest(pem) { | ||
return this.hasTagName(pem, "certificate request"); | ||
} | ||
static isCRL(pem) { | ||
return this.hasTagName(pem, "x509 crl"); | ||
} | ||
static isPublicKey(pem) { | ||
return this.hasTagName(pem, "public key"); | ||
} | ||
} | ||
export { AlgorithmError, CryptoError, UnsupportedOperationError, OperationError, RequiredPropertyError, AesProvider, AesCbcProvider, AesCmacProvider, AesCtrProvider, AesEcbProvider, AesGcmProvider, AesKwProvider, DesProvider, RsaProvider, RsaSsaProvider, RsaPssProvider, RsaOaepProvider, EllipticProvider, EcdsaProvider, EcdhProvider, HmacProvider, Pbkdf2Provider, Crypto, ProviderCrypto, ProviderStorage, SubtleCrypto, CryptoKey, PemConverter, BufferSourceConverter }; | ||
export { AlgorithmError, CryptoError, UnsupportedOperationError, OperationError, RequiredPropertyError, AesProvider, AesCbcProvider, AesCmacProvider, AesCtrProvider, AesEcbProvider, AesGcmProvider, AesKwProvider, DesProvider, RsaProvider, RsaSsaProvider, RsaPssProvider, RsaOaepProvider, EllipticProvider, EcdsaProvider, EcdhProvider, HmacProvider, Pbkdf2Provider, Crypto, ProviderCrypto, ProviderStorage, SubtleCrypto, CryptoKey, PemConverter, BufferSourceConverter, isJWK }; |
@@ -32,2 +32,65 @@ /** | ||
class PemConverter { | ||
static toArrayBuffer(pem) { | ||
const base64 = pem | ||
.replace(/-{5}(BEGIN|END) .*-{5}/g, "") | ||
.replace("\r", "") | ||
.replace("\n", ""); | ||
return pvtsutils.Convert.FromBase64(base64); | ||
} | ||
static toUint8Array(pem) { | ||
const bytes = this.toArrayBuffer(pem); | ||
return new Uint8Array(bytes); | ||
} | ||
static fromBufferSource(buffer, tag) { | ||
const base64 = pvtsutils.Convert.ToBase64(buffer); | ||
let sliced; | ||
let offset = 0; | ||
const rows = []; | ||
while (true) { | ||
sliced = base64.slice(offset, offset = offset + 64); | ||
if (sliced.length) { | ||
rows.push(sliced); | ||
if (sliced.length < 64) { | ||
break; | ||
} | ||
} | ||
else { | ||
break; | ||
} | ||
} | ||
const upperCaseTag = tag.toUpperCase(); | ||
return `-----BEGIN ${upperCaseTag}-----\n${rows.join("\n")}\n-----END ${upperCaseTag}-----`; | ||
} | ||
static isPEM(data) { | ||
return /-----BEGIN .+-----[A-Za-z0-9+\/\+\=\s\n]+-----END .+-----/i.test(data); | ||
} | ||
static getTagName(pem) { | ||
if (!this.isPEM(pem)) { | ||
throw new Error("Bad parameter. Incoming data is not right PEM"); | ||
} | ||
const res = /-----BEGIN (.+)-----/.exec(pem); | ||
if (!res) { | ||
throw new Error("Cannot get tag from PEM"); | ||
} | ||
return res[1]; | ||
} | ||
static hasTagName(pem, tagName) { | ||
const tag = this.getTagName(pem); | ||
return tagName.toLowerCase() === tag.toLowerCase(); | ||
} | ||
static isCertificate(pem) { | ||
return this.hasTagName(pem, "certificate"); | ||
} | ||
static isCertificateRequest(pem) { | ||
return this.hasTagName(pem, "certificate request"); | ||
} | ||
static isCRL(pem) { | ||
return this.hasTagName(pem, "x509 crl"); | ||
} | ||
static isPublicKey(pem) { | ||
return this.hasTagName(pem, "public key"); | ||
} | ||
} | ||
class BufferSourceConverter { | ||
@@ -54,2 +117,6 @@ static toArrayBuffer(data) { | ||
function isJWK(data) { | ||
return typeof data === "object" && "kty" in data; | ||
} | ||
class ProviderCrypto { | ||
@@ -173,2 +240,3 @@ async digest(algorithm, data) { | ||
this.checkKeyFormat(format); | ||
this.checkKeyData(format, keyData); | ||
this.checkAlgorithmName(algorithm); | ||
@@ -231,2 +299,15 @@ this.checkImportParams(algorithm); | ||
} | ||
checkKeyData(format, keyData) { | ||
if (!keyData) { | ||
throw new TypeError("keyData: Cannot be empty on empty on key importing"); | ||
} | ||
if (format === "jwk") { | ||
if (!isJWK(keyData)) { | ||
throw new TypeError("keyData: Is not JsonWebToken"); | ||
} | ||
} | ||
else if (!BufferSourceConverter.isBufferSource(keyData)) { | ||
throw new TypeError("keyData: Is not ArrayBufferView or ArrrayBuffer"); | ||
} | ||
} | ||
prepareData(data) { | ||
@@ -811,65 +892,2 @@ return BufferSourceConverter.toArrayBuffer(data); | ||
class PemConverter { | ||
static toArrayBuffer(pem) { | ||
const base64 = pem | ||
.replace(/-{5}(BEGIN|END) .*-{5}/g, "") | ||
.replace("\r", "") | ||
.replace("\n", ""); | ||
return pvtsutils.Convert.FromBase64(base64); | ||
} | ||
static toUint8Array(pem) { | ||
const bytes = this.toArrayBuffer(pem); | ||
return new Uint8Array(bytes); | ||
} | ||
static fromBufferSource(buffer, tag) { | ||
const base64 = pvtsutils.Convert.ToBase64(buffer); | ||
let sliced; | ||
let offset = 0; | ||
const rows = []; | ||
while (true) { | ||
sliced = base64.slice(offset, offset = offset + 64); | ||
if (sliced.length) { | ||
rows.push(sliced); | ||
if (sliced.length < 64) { | ||
break; | ||
} | ||
} | ||
else { | ||
break; | ||
} | ||
} | ||
const upperCaseTag = tag.toUpperCase(); | ||
return `-----BEGIN ${upperCaseTag}-----\n${rows.join("\n")}\n-----END ${upperCaseTag}-----`; | ||
} | ||
static isPEM(data) { | ||
return /-----BEGIN .+-----[A-Za-z0-9+\/\+\=\s\n]+-----END .+-----/i.test(data); | ||
} | ||
static getTagName(pem) { | ||
if (!this.isPEM(pem)) { | ||
throw new Error("Bad parameter. Incoming data is not right PEM"); | ||
} | ||
const res = /-----BEGIN (.+)-----/.exec(pem); | ||
if (!res) { | ||
throw new Error("Cannot get tag from PEM"); | ||
} | ||
return res[1]; | ||
} | ||
static hasTagName(pem, tagName) { | ||
const tag = this.getTagName(pem); | ||
return tagName.toLowerCase() === tag.toLowerCase(); | ||
} | ||
static isCertificate(pem) { | ||
return this.hasTagName(pem, "certificate"); | ||
} | ||
static isCertificateRequest(pem) { | ||
return this.hasTagName(pem, "certificate request"); | ||
} | ||
static isCRL(pem) { | ||
return this.hasTagName(pem, "x509 crl"); | ||
} | ||
static isPublicKey(pem) { | ||
return this.hasTagName(pem, "public key"); | ||
} | ||
} | ||
exports.AlgorithmError = AlgorithmError; | ||
@@ -904,1 +922,2 @@ exports.CryptoError = CryptoError; | ||
exports.BufferSourceConverter = BufferSourceConverter; | ||
exports.isJWK = isJWK; |
{ | ||
"name": "webcrypto-core", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "Common layer to be used by crypto libraries based on WebCrypto API for input validation.", | ||
@@ -44,3 +44,4 @@ "main": "build/webcrypto-core.js", | ||
"mocha": "^5.2.0", | ||
"nyc": "^13.1.0", | ||
"nyc": "^13.3.0", | ||
"reflect-metadata": "^0.1.13", | ||
"rollup": "^1.1.2", | ||
@@ -47,0 +48,0 @@ "rollup-plugin-typescript": "^1.0.0", |
@@ -5,2 +5,5 @@ import { ProviderCrypto } from "../provider"; | ||
checkDerivedKeyParams(algorithm: AesKeyGenParams): void; | ||
abstract onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
abstract onExportKey(format: KeyFormat, key: CryptoKey): Promise<JsonWebKey | ArrayBuffer>; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesCbcProvider extends AesProvider { | ||
export declare abstract class AesCbcProvider extends AesProvider { | ||
readonly name = "AES-CBC"; | ||
usages: KeyUsages; | ||
checkAlgorithmParams(algorithm: AesCbcParams): void; | ||
abstract onEncrypt(algorithm: AesCbcParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: AesCbcParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesCmacProvider extends AesProvider { | ||
export declare abstract class AesCmacProvider extends AesProvider { | ||
readonly name = "AES-CMAC"; | ||
usages: KeyUsages; | ||
checkAlgorithmParams(algorithm: AesCmacParams): void; | ||
abstract onSign(algorithm: AesCmacParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onVerify(algorithm: AesCmacParams, key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesCtrProvider extends AesProvider { | ||
export declare abstract class AesCtrProvider extends AesProvider { | ||
readonly name = "AES-CTR"; | ||
usages: KeyUsages; | ||
checkAlgorithmParams(algorithm: AesCtrParams): void; | ||
abstract onEncrypt(algorithm: AesCtrParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: AesCtrParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesEcbProvider extends AesProvider { | ||
export declare abstract class AesEcbProvider extends AesProvider { | ||
readonly name = "AES-ECB"; | ||
usages: KeyUsages; | ||
abstract onEncrypt(algorithm: Algorithm, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: Algorithm, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesGcmProvider extends AesProvider { | ||
export declare abstract class AesGcmProvider extends AesProvider { | ||
readonly name = "AES-GCM"; | ||
usages: KeyUsages; | ||
checkAlgorithmParams(algorithm: AesGcmParams): void; | ||
abstract onEncrypt(algorithm: AesGcmParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: AesGcmParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
import { KeyUsages } from "../types"; | ||
import { AesProvider } from "./base"; | ||
export declare class AesKwProvider extends AesProvider { | ||
export declare abstract class AesKwProvider extends AesProvider { | ||
readonly name = "AES-KW"; | ||
usages: KeyUsages; | ||
} |
@@ -25,2 +25,7 @@ import { KeyAlgorithm } from "../key"; | ||
checkDerivedKeyParams(algorithm: DesDerivedKeyParams): void; | ||
abstract onGenerateKey(algorithm: DesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
abstract onExportKey(format: KeyFormat, key: CryptoKey): Promise<JsonWebKey | ArrayBuffer>; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: DesImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
abstract onEncrypt(algorithm: DesParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: DesParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
@@ -6,2 +6,5 @@ import { ProviderCrypto } from "../provider"; | ||
checkNamedCurve(namedCurve: string): void; | ||
abstract onGenerateKey(algorithm: EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>; | ||
abstract onExportKey(format: KeyFormat, key: CryptoKey): Promise<JsonWebKey | ArrayBuffer>; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
} |
@@ -0,4 +1,5 @@ | ||
import { CryptoKey } from "../key"; | ||
import { ProviderKeyUsages } from "../types"; | ||
import { EllipticProvider } from "./base"; | ||
export declare class EcdhProvider extends EllipticProvider { | ||
export declare abstract class EcdhProvider extends EllipticProvider { | ||
readonly name = "ECDH"; | ||
@@ -8,2 +9,3 @@ usages: ProviderKeyUsages; | ||
checkAlgorithmParams(algorithm: EcdhKeyDeriveParams): void; | ||
abstract onDeriveBits(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>; | ||
} |
import { ProviderKeyUsages } from "../types"; | ||
import { EllipticProvider } from "./base"; | ||
export declare class EcdsaProvider extends EllipticProvider { | ||
export declare abstract class EcdsaProvider extends EllipticProvider { | ||
readonly name = "ECDSA"; | ||
@@ -9,2 +9,4 @@ readonly hashAlgorithms: string[]; | ||
checkAlgorithmParams(algorithm: EcdsaParams): void; | ||
abstract onSign(algorithm: EcdsaParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onVerify(algorithm: EcdsaParams, key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean>; | ||
} |
import { ProviderCrypto } from "../provider"; | ||
import { KeyUsages } from "../types"; | ||
export declare class HmacProvider extends ProviderCrypto { | ||
export declare abstract class HmacProvider extends ProviderCrypto { | ||
name: string; | ||
@@ -14,2 +14,5 @@ hashAlgorithms: string[]; | ||
checkImportParams(algorithm: HmacImportParams): void; | ||
abstract onGenerateKey(algorithm: HmacKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
abstract onExportKey(format: KeyFormat, key: CryptoKey): Promise<JsonWebKey | ArrayBuffer>; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
} |
import { ProviderCrypto } from "../provider"; | ||
import { KeyUsages } from "../types"; | ||
export declare class Pbkdf2Provider extends ProviderCrypto { | ||
export declare abstract class Pbkdf2Provider extends ProviderCrypto { | ||
name: string; | ||
@@ -9,2 +9,4 @@ hashAlgorithms: string[]; | ||
checkImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[]): void; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
abstract onDeriveBits(algorithm: Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>; | ||
} |
@@ -52,3 +52,4 @@ import { CryptoKey } from "./key"; | ||
checkKeyFormat(format: any): void; | ||
checkKeyData(format: KeyFormat, keyData: any): void; | ||
protected prepareData(data: any): ArrayBuffer; | ||
} |
@@ -6,2 +6,5 @@ import { ProviderCrypto } from "../provider"; | ||
checkImportParams(algorithm: RsaHashedImportParams): void; | ||
abstract onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>; | ||
abstract onExportKey(format: KeyFormat, key: CryptoKey): Promise<JsonWebKey | ArrayBuffer>; | ||
abstract onImportKey(format: KeyFormat, keyData: JsonWebKey | ArrayBuffer, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; | ||
} |
import { ProviderKeyUsages } from "../types"; | ||
import { RsaProvider } from "./base"; | ||
export declare class RsaOaepProvider extends RsaProvider { | ||
export declare abstract class RsaOaepProvider extends RsaProvider { | ||
readonly name = "RSA-OAEP"; | ||
usages: ProviderKeyUsages; | ||
checkAlgorithmParams(algorithm: RsaOaepParams): void; | ||
abstract onEncrypt(algorithm: RsaOaepParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onDecrypt(algorithm: RsaOaepParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
} |
import { ProviderKeyUsages } from "../types"; | ||
import { RsaProvider } from "./base"; | ||
export declare class RsaPssProvider extends RsaProvider { | ||
export declare abstract class RsaPssProvider extends RsaProvider { | ||
readonly name = "RSA-PSS"; | ||
usages: ProviderKeyUsages; | ||
checkAlgorithmParams(algorithm: RsaPssParams): void; | ||
abstract onSign(algorithm: RsaPssParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onVerify(algorithm: RsaPssParams, key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean>; | ||
} |
import { ProviderKeyUsages } from "../types"; | ||
import { RsaProvider } from "./base"; | ||
export declare class RsaSsaProvider extends RsaProvider { | ||
export interface RsaSsaParams extends Algorithm { | ||
} | ||
export declare abstract class RsaSsaProvider extends RsaProvider { | ||
readonly name = "RSASSA-PKCS1-v1_5"; | ||
usages: ProviderKeyUsages; | ||
abstract onSign(algorithm: RsaSsaParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; | ||
abstract onVerify(algorithm: RsaSsaParams, key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean>; | ||
} |
export * from "./pem_converter"; | ||
export * from "./buffer_converter"; | ||
export * from "./is_jwk"; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
94287
43
2226
10