Node crypto.decapsulate function | API Reference | Bun
BuildDocsReferenceGuidesBlogDiscord/
node:crypto/
decapsulateFdecapsulate
Search the reference...
/
BuildDocsReferenceGuidesBlogDiscord/
node:crypto/
decapsulateFdecapsulate
function
crypto.decapsulatefunction
decapsulate(key:
PrivateKeyInput |
JsonWebKeyInput |
KeyLike,ciphertext:
ArrayBuffer | ArrayBufferViewArrayBufferLike>): NonSharedBuffer;
Key decapsulation using a KEM algorithm with a private key.
Supported key types and their KEM algorithms are:
'rsa' RSA Secret Value Encapsulation'ec' DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256)'x25519' DHKEM(X25519, HKDF-SHA256)'x448' DHKEM(X448, HKDF-SHA512)'ml-kem-512' ML-KEM'ml-kem-768' ML-KEM'ml-kem-1024' ML-KEMIf key is not a KeyObject, this function behaves as if key had been passed to crypto.createPrivateKey().
If the callback function is provided this function uses libuv's threadpool.
function
decapsulate(key:
PrivateKeyInput |
JsonWebKeyInput |
KeyLike,ciphertext:
ArrayBuffer | ArrayBufferViewArrayBufferLike>,callback: (err:
Error, sharedKey: NonSharedBuffer) => void): void;
Key decapsulation using a KEM algorithm with a private key.
Supported key types and their KEM algorithms are:
'rsa' RSA Secret Value Encapsulation'ec' DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256)'x25519' DHKEM(X25519, HKDF-SHA256)'x448' DHKEM(X448, HKDF-SHA512)'ml-kem-512' ML-KEM'ml-kem-768' ML-KEM'ml-kem-1024' ML-KEMIf key is not a KeyObject, this function behaves as if key had been passed to crypto.createPrivateKey().
If the callback function is provided this function uses libuv's threadpool.
Referenced typesinterface
PrivateKeyInputencoding?: string
format?:
KeyFormatkey: string |
BufferArrayBufferLike>
passphrase?: string |
BufferArrayBufferLike>
type?:
PrivateKeyExportTypeinterface
JsonWebKeyInputformat: 'jwk'
key:
JsonWebKeytype
KeyLike = string |
Buffer |
KeyObjectclass
ArrayBufferRepresents a raw buffer of binary data, which is used to store data for the different typed arrays. ArrayBuffers cannot be read from or written to directly, but can be passed to a typed array or DataView Object to interpret the raw buffer as needed.
readonly
[Symbol.toStringTag]: stringreadonly
byteLength: number
Read-only. The length of the ArrayBuffer (in bytes).
resize(newByteLength?: number): void;
Resizes the ArrayBuffer to the specified size (in bytes).
MDN
resize(byteLength: number):
ArrayBuffer;
Resize an ArrayBuffer in-place.
slice(begin: number,end?: number):
ArrayBuffer;
Returns a section of an ArrayBuffer.
transfer(newByteLength?: number):
ArrayBuffer;
Creates a new ArrayBuffer with the same byte content as this buffer, then detaches this buffer.
MDN
transferToFixedLength(newByteLength?: number):
ArrayBuffer;
Creates a new non-resizable ArrayBuffer with the same byte content as this buffer, then detaches this buffer.
MDN
Resources
ReferenceDocsGuidesDiscordMerch StoreGitHubBlog Toolkit
RuntimePackage managerTest runnerBundlerPackage runnerProject
Bun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicenseBaked with ❤️ in San Francisco
We're hiring →