openemail.encryption
Cada método deste espaço de nomes: a sua assinatura, os seus parâmetros, o que devolve e um exemplo.
Métodos
The OpenPGP public keys that let senders seal mail to your addresses: list the ones you published, publish or rotate one, and look up the keys of recipients before sealing a message.
encryption.listKeys()
List your published encryption keys
listKeys(options?: RequestScope): Promise<Array<EncryptionKeyResource>>Resolves every OpenPGP public key published for an address in this workspace, newest first, the Encryption page of the app. Retired keys are included, with revokedAt and revokedReason set, and the live key of each address has revokedAt null.
Published keys belong to a person. A key reads and publishes the keys of the workspace owner, and an access token those of the person who connected the app. A key limited to particular addresses lists only the keys of those addresses.
Parâmetros
options.signalAbortSignalCancels the request.
options.apiKeystringOverrides the client's API key for this call only.
Devolve
Array<EncryptionKeyResource>, each with id, address, fingerprint, publicKey, algorithm, createdAt, revokedAt and revokedReason.
Exemplo
const keys = await openemail.encryption.listKeys() for (const key of keys) console.log(key.address, key.fingerprint, key.revokedAt === null ? 'live' : 'retired')Notas
Only public keys travel through the API. The private key stays on the device that made it.
Também disponível em
encryption.publishKey()
Publish a public key for one of your addresses
publishKey(body: EncryptionKeyPublish, options?: RequestScope): Promise<EncryptionKeyResource>Publishes an armored OpenPGP public key for one of your addresses, so that senders can seal mail to it, as Publish on the Encryption page does. The address has to be an address of this workspace on a verified domain, switched on, and one you may use.
An address keeps one live key. To rotate, pass the fingerprint of the live key as replaces: it is retired as the new key is published. Mail already sealed to the old key stays readable only with the old private key.
Published keys belong to a person. A key reads and publishes the keys of the workspace owner, and an access token those of the person who connected the app.
Parâmetros
body.addressstringObrigatórioThe address the key is for.
body.publicKeystringObrigatórioThe armored OpenPGP PUBLIC KEY BLOCK, up to 64 KB.
body.fingerprintstringObrigatórioThe fingerprint of the key, 40 upper-case hexadecimal characters.
body.algorithmstringThe algorithm of the key, such as
ed25519, for display only.body.replacesstringThe fingerprint of the live key this one replaces, to rotate it.
options.signalAbortSignalCancels the request.
options.apiKeystringOverrides the client's API key for this call only.
Devolve
EncryptionKeyResource for the key, now live.
Exemplo
const key = await openemail.encryption.publishKey({ address: '[email protected]', publicKey: armored, fingerprint: '3F2A9C1B7E4D5F60A1B2C3D4E5F60718293A4B5C'}) console.log(key.id)Notas
With an OAuth access token it asks for a verification code: until the app has verified one, it is refused with 403
step_up_required. An API key is never asked.A second key while one is live, without
replaces, is 409key_already_published, and so is a key that was published for the address before. An address on a domain that is not verified yet is 409domain_not_verified, and an address you may not use is 403address_not_allowed.The SDK does not retry it.
Também disponível em
encryption.lookupKeys()
Find the keys to seal mail to
lookupKeys(options: EncryptionKeyLookupOptions): Promise<Array<EncryptionKeyLookupResource>>Resolves the live public keys published for each recipient address, the lookup the composer makes before it seals a message. An address with no key comes back with keys empty, so mail to it cannot be sealed. Only keys published by somebody who can read the address count.
Parâmetros
options.addressesArray<string>ObrigatórioRecipient addresses, at most 51, sent comma-separated.
options.signalAbortSignalCancels the request.
options.apiKeystringOverrides the client's API key for this call only.
Devolve
Array<EncryptionKeyLookupResource>, one per address, each with address and keys, every key with fingerprint, publicKey and createdAt.
Exemplo
const found = await openemail.encryption.lookupKeys({ addresses: ['[email protected]', '[email protected]'] }) const sealable = found.every((entry) => entry.keys.length > 0)Notas
A display name in angle brackets is read as its address.