privkey/algo-name privkey/check-key privkey/export privkey/get-field privkey/get-pubkey privkey/load privkey/load-dh privkey/load-dsa privkey/load-ecdh privkey/load-ecdsa privkey/load-elgamal privkey/load-kyber privkey/load-rsa privkey/load-sm2 privkey/new privkey/to-der privkey/to-pem
(privkey/check-key privkey rng &opt weak)
Test the key for consistency. If weak is provided then less expensive tests are performed.
(privkey/export &opt pem)
Exports the private key in PKCS8 format. If `pem` is provided, the result is a PEM encoded string. Otherwise it is a binary DER value. The key will not be encrypted.
(privkey/get-field filed-name)
Return an integer field related to the private key. The valid field names vary depending on the algorithm. For example first RSA secret prime can be extracted with `(privkey/get-field key "p")`. This function can also be used to extract the public parameters.
(privkey/load blob &opt password)
Return a private key (DER or PEM formats accepted). No `password` indicate no encryption expected.
(privkey/new algo param &opt rng)
Creates a new private key. The parameter type/value depends on the algorithm. For "rsa" it is the size of the key in bits. For "ecdsa" and "ecdh" it is a group name (for instance "secp256r1"). For "ecdh" there is also a special case for group "curve25519" (which is actually a completely distinct key type with a non-standard encoding). Use `rng` if provided.