@ucanto/principal
Version:
ucanto principal
35 lines • 1.08 kB
TypeScript
import { VerifierKey, SignerKey, MulticodecCode } from '@ucanto/interface';
export * from '@ucanto/interface';
/**
* Integer corresponding to RS256 byteprefix of the VarSig.
*/
export type SigAlg = MulticodecCode<0xd01205, 'RS256'>;
/**
* Name corresponding to RS256 algorithm.
*/
export type Name = 'RS256';
/**
* This interface parametrizes {@link SignerKey} and extends it with RSA specific
* details.
*/
export interface RSASigner extends SignerKey<SigAlg> {
readonly signer: RSASigner;
readonly verifier: RSAVerifier;
/**
* Multicodec code that corresponds to Ed private key.
*/
readonly code: MulticodecCode<0x1305, 'RSAPrivateKey'>;
}
/**
* This interface parametrizes {@link VerifierKey} and extends it with Ed
* specific details.
*/
export interface RSAVerifier extends VerifierKey<SigAlg> {
/**
* Multicodec code that corresponds to RSA public key.
*/
readonly code: MulticodecCode<0x1205, 'RSAPublicKey'>;
readonly signatureCode: SigAlg;
readonly signatureAlgorithm: Name;
}
//# sourceMappingURL=type.d.ts.map