diff --git a/packages/crypto/src/index.ts b/packages/crypto/src/index.ts index e3ea7e0..b8bd01b 100644 --- a/packages/crypto/src/index.ts +++ b/packages/crypto/src/index.ts @@ -2,5 +2,5 @@ export { aesGcmDecrypt, aesGcmEncrypt } from './aes-gcm' export { sha256, sha256Hex } from './hash' export { hkdfSha256 } from './hkdf' export { hmacSha256, hmacSha256Base64 } from './hmac' -export { generatePgpKeyPair, pgpSignDetached, pgpVerifyDetached } from './pgp' +export { generatePgpKeyPair, pgpSignDetached, pgpVerifyDetached, validatePgpPrivateKey } from './pgp' export { rsaOaepEncrypt } from './rsa-oaep' diff --git a/packages/crypto/src/pgp.ts b/packages/crypto/src/pgp.ts index d809647..28411d0 100644 --- a/packages/crypto/src/pgp.ts +++ b/packages/crypto/src/pgp.ts @@ -28,6 +28,10 @@ export const generatePgpKeyPair = async ( * @param armoredPrivateKey - ASCII-armored private key * @returns ASCII-armored detached signature (signature.asc content) */ +export const validatePgpPrivateKey = async (armoredKey: string): Promise => { + await openpgp.readPrivateKey({ armoredKey }) +} + export const pgpSignDetached = async (data: Uint8Array, armoredPrivateKey: string): Promise => { const privateKey = await openpgp.readPrivateKey({ armoredKey: armoredPrivateKey }) const message = await openpgp.createMessage({ binary: data })