Referência da API¶
generateDidKey(seed?)¶
Cria uma identidade did:key Ed25519.
function generateDidKey(seed?: Uint8Array): DidKey;
interface DidKey {
did: string; // did:key:z6Mk...
signer: Signer; // signer did-jwt ligado a esta chave
privateKey: Uint8Array; // seed de 32 bytes (manter secreta)
publicKey: Uint8Array; // chave pública de 32 bytes
}
- Passa uma
seedde 32 bytes para um DID determinístico (útil em testes ou para persistir uma identidade). Omite-a para uma identidade aleatória nova. - Lança exceção se a
seednão tiver exatamente 32 bytes.
Guardar uma identidade: persiste a
privateKeyde 32 bytes de forma segura (ex.: um KMS ou um segredo cifrado). Recria a identidade mais tarde comgenerateDidKey(seed).
issueCredential(options)¶
Assina uma Verifiable Credential W3C como JWT EdDSA e devolve a string JWT compacta.
function issueCredential(options: IssueOptions): Promise<string>;
interface IssueOptions {
issuer: DidKey; // de generateDidKey()
subject: string; // o DID do titular/sujeito
claims: Record<string, unknown>; // vai para credentialSubject
type?: string[]; // tipos extra além de VerifiableCredential
expiresIn?: number; // segundos a partir de agora (opcional)
}
O id do sujeito é definido automaticamente a partir de subject. O nbf
(not-before) é definido como agora; o exp é definido quando forneces expiresIn.
verifyCredentialJwt(jwt)¶
Verifica a assinatura e o emissor, devolvendo a credencial descodificada. Lança exceção numa credencial inválida ou adulterada.
Campos principais no resultado:
verified: booleanissuer: string— o DID que assinou a credencialverifiableCredential— a VC descodificada (credentialSubject,type,issuanceDate,expirationDate, …)