jose/src/runtime/node/dsa_digest.ts
2021-05-05 15:26:28 +02:00

29 lines
557 B
TypeScript

import { JOSENotSupported } from '../../util/errors.js'
export default function dsaDigest(alg: string) {
switch (alg) {
case 'PS256':
case 'RS256':
case 'ES256':
case 'ES256K':
return 'sha256'
case 'PS384':
case 'RS384':
case 'ES384':
return 'sha384'
case 'PS512':
case 'RS512':
case 'ES512':
return 'sha512'
case 'EdDSA':
return undefined
default:
throw new JOSENotSupported(
`alg ${alg} is not supported either by JOSE or your javascript runtime`,
)
}
}