OPENSSL-PKEYUTL(1ssl) OpenSSL OPENSSL-PKEYUTL(1ssl) (NAME) openssl-pkeyutl - (SYNOPSIS) openssl pkeyutl [-help] [-in file] [-rawin] [-digest algorithm] [-out file] [-secret file] [-sigfile file] [-inkey filename|uri] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-pubin] [-certin] [-rev] [-sign] [-verify] [-verifyrecover] [-encrypt] [-decrypt] [-derive] [-peerkey file] [-peerform DER|PEM|P12|ENGINE] [-encap] [-decap] [-kdf algorithm] [-kdflen length] [-kemop mode] [-pkeyopt opt:value] [-pkeyopt_passin opt[:passarg]] [-hexdump] [-asn1parse] [-engine id] [-engine_impl] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [-config configfile] (DESCRIPTION) ( ) . ( -sign ) . (OPTIONS) -help . -in filename . -rawin () . EdDSA -digest . RSA DSA ECDSA SHA256 . SM2 SM3 . -sign -verify . EdDSA ( Ed25519 Ed448) . -digest -rawin . -digest algorithm -sign -verify . . ( EdDSA) . -rawin ( -rawin ). -rawin . HashEdDSA ( ph <<>> EdDSA) -digest EdDSA . -out filename . -secret filename -encap -decap . -encap () -out . -sigfile file -verify . -inkey filename|uri . -keyform DER|PEM|P12|ENGINE . openssl-format-options(1) . -passin arg . arg openssl-passphrase-options(1) . -pubin . . . -certin . -rev . ( CryptoAPI) (little-endian) . -rawin . -sign . . -rawin -digest . -in ( RSA PKCS#1) -pkeyopt "digest:"md . ECDSA -pkeyopt . -verify -sigfile . -in -rawin . . -verifyrecover ( ) . RSA PKCS#1 DER EMSA-PKCS-v1_5 OID RFC8017 . -in ( -sign -verify) -sign . RSA . -encrypt . -decrypt . -derive (EC)DH (peer) . -peerkey file (EC)DH () . -inkey . -peerform DER|PEM|P12|ENGINE . openssl-format-options(1) . -encap (KEM) . ( ) -out . -secret . : ML-KEM X25519 X448 EC. ECX EC DHKEM RFC9180 . RSA RSASVE . API (hybrid) ECDHE ( DHKEM) ML-KEM TLS . . -decap . -in . -secret . : ML-KEM X25519 X448 EC. ECX EC DHKEM RFC9180 . RSA RSASVE . -kemop mode -encap/-decap (mode) KEM . mode . -kdf algorithm (algorithm). TLS1-PRF HKDF. : KDF . EVP_PKEY_CTX_set_hkdf_md(3) EVP_PKEY_CTX_set_tls1_prf_md(3) . -kdflen length KDF. -pkeyopt opt:value opt:value . <<>> . -pkeyopt_passin opt[:passarg] opt (stdin) . opt stdin . passarg openssl-passphrase-options(1) . -hexdump (hexdump) . -asn1parse ASN.1 DER . -verifyrecover DER ASN.1 ( ) PKCS#1 v1.5 DER . -engine id "Engine Options" openssl(1) . . -engine_impl -engine id . -rand files, -writerand file "Random State Options" openssl(1) . -provider name -provider-path path -provparam [name:]key=value -propquery propq "Provider Options" openssl(1) provider(7) property(7) . -config configfile "Configuration Option" openssl(1) . (NOTES) . . -pkeyopt "digest:"alg . alg EVP_get_digestbyname() sha256. ( ) ( DigestInfo RSASSA PKCS#1 v1.5) . "digest" -pkeyopt sha256 SHA256 . -rawin . (padding) . RSA (modulus) . ECDSA DSA (field size) (truncate). EVP_MAX_MD_SIZE . RSA (RSA ALGORITHM) RSA encrypt decrypt sign verify verifyrecover . . pkeyopt : rsa_padding_mode:mode RSA . mode : pkcs1 PKCS#1 none oaep OAEP x931 X9.31 pss PSS. PKCS#1 DigestInfo . DigestInfo . pkcs1 (Bleichenbacher attack) . none PKCS#1 v1.5 . oaep . x931 X9.31 . Sign verify verifyrecover . pss (sign verify) . rsa_pss_saltlen:len pss (salt) . : digest max auto PSS . rsa_mgf1_md:digest PSS OAEP MGF1 . MGF1 PSS . rsa_oaep_md:digest OAEP . SHA1 . rsa_pkcs1_implicit_rejection:flag (implicit rejection) PKCS#1 v1.5 ( 0) ( 1) . ( ) (deterministic random plaintext) . (side-channel) . RSA-PSS (RSA-PSS ALGORITHM) RSA-PSS RSA (sign verify) PSS . -pkeyopt : rsa_padding_mode:mode, rsa_pss_saltlen:len, rsa_mgf1_md:digest RSA . pss . MGF1 . MGF . DSA (DSA ALGORITHM) DSA . -pkeyopt digest . SHA256 . DH (DH ALGORITHM) DH (derivation) -pkeyopt . EC (EC ALGORITHM) EC sign verify derive . sign verify ECDSA derive ECDH . digest -pkeyopt SHA256 . X25519 X448 (X25519 AND X448 ALGORITHMS) X25519 X448 . . SLH-DSA (SLH-DSA ALGORITHMS) SLH-DSA ( SLH-DSA-SHA2-128s SLH-DSA-SHA2-128f SLH-DSA-SHA2-192s SLH-DSA-SHA2-192f SLH-DSA-SHA2-256s SLH-DSA-SHA2-256f) . SLH-DSA pkeyutl : -sign SLH-DSA. : $ openssl pkeyutl -sign -in file.txt -inkey slhdsa.pem -out sig -verify SLH-DSA. : $ openssl pkeyutl -verify -in file.txt -inkey slhdsa.pem -sigfile sig SLH-DSA EVP_PKEY-SLH-DSA(7) EVP_SIGNATURE-SLH-DSA(7) . ML-DSA-44 ML-DSA-65 ML-DSA-87 (ML-DSA-44, ML-DSA-65 AND ML-DSA-87 ALGORITHMS) ML-DSA <<>> . . ML-DSA pkeyutl : -sign ML-DSA. : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -verify ML-DSA. : $ openssl pkeyutl -verify -in file.txt -inkey mldsa65.pem -sigfile sig -pkeyopt opt:value ML-DSA: message-encoding:value . . EVP_SIGNATURE-ML-DSA(7) . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt message-encoding:1 test-entropy:value (deterministic) . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt test-entropy:abcdefghijklmnopqrstuvwxyz012345 hextest-entropy:value . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt hextest-entropy:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f deterministic:value . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt deterministic:1 mu:value mu . : $ echo -n "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" >file.txt $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt mu:1 context-string:string (context string) . . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt context-string:mycontext $ openssl pkeyutl -verify -in file.txt -inkey mldsa65.pem -sigfile sig -pkeyopt context-string:mycontext hexcontext-string:string . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt hexcontext-string:6d79636f6e74657874 deterministic:bool bool 1 . bool 0 . hextest-entropy:value . ML-DSA . ML-DSA EVP_SIGNATURE-ML-DSA(7) . ML-KEM-512 ML-KEM-768 ML-KEM-1024 (ML-KEM-512, ML-KEM-768 AND ML-KEM-1024 ALGORITHMS) ML-KEM . hexikme:entropy entropy . . EVP_KEM-ML-KEM(7) . ED25519 ED448 (ED25519 AND ED448 ALGORITHMS) . <<>> (pure) . <<>> (oneshot) . / . . . ( stdin ) . SM2 (SM2) SM2 sign verify encrypt decrypt . sign verify SM2 (Distinguishing ID) . -pkeyopt : distid:string (ID) SM2 . SM2 . hexdistid:hex_string SM2 . SM2 . . (EXAMPLES) : openssl pkeyutl -sign -in file -inkey key.pem -out sig ( RSA): openssl pkeyutl -verifyrecover -in sig -inkey key.pem ( DSA): openssl pkeyutl -verify -in file -sigfile sig -inkey key.pem ( RSA ): openssl pkeyutl -sign -in file -inkey key.pem -out sig -pkeyopt digest:sha256 : openssl pkeyutl -derive -inkey key.pem -peerkey pubkey.pem -out secret (hexdump) TLS1 PRF SHA256 (seed) 0xFF: openssl pkeyutl -kdf TLS1-PRF -kdflen 48 -pkeyopt md:SHA256 \ -pkeyopt hexsecret:ff -pkeyopt hexseed:ff -hexdump scrypt : openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass \ -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1 MYPASS: openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass:env:MYPASS \ -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1 SM2(7) : openssl pkeyutl -sign -in file -inkey sm2.key -out sig -rawin -digest sm3 \ -pkeyopt distid:someid SM2(7) : openssl pkeyutl -verify -certin -in file -inkey sm2.cert -sigfile sig \ -rawin -digest sm3 -pkeyopt distid:someid OAEP SHA256: openssl pkeyutl -decrypt -in file -inkey key.pem -out secret \ -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 ML-DSA : $ openssl genpkey -algorithm ML-DSA-65 -out mldsa65.pem $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt context-string:example ML-DSA : $ openssl pkeyutl -verify -in file.txt -inkey mldsa65.pem -sigfile sig -pkeyopt context-string:example ML-KEM : $ openssl genpkey -algorithm ML-KEM-768 -out mlkem768.pem $ openssl pkey -in mlkem768.pem -pubout -out mlkem768_pub.pem $ openssl pkeyutl -encap -inkey mlkem768_pub.pem -pubin -out ciphertext -secret shared_secret.bin ML-KEM: $ openssl pkeyutl -decap -inkey mlkem768.pem -in ciphertext -secret decapsulated_secret.bin SLH-DSA : $ openssl genpkey -algorithm SLH-DSA-SHA2-128s -out slh-dsa.pem $ openssl pkeyutl -sign -in file.txt -inkey slh-dsa.pem -out sig SLH-DSA: $ openssl pkeyutl -verify -in file.txt -inkey slh-dsa.pem -sigfile sig (SEE ALSO) openssl(1) openssl-genpkey(1) openssl-pkey(1) openssl-rsautl(1) openssl-dgst(1) openssl-rsa(1) openssl-genrsa(1) openssl-kdf(1) EVP_PKEY_CTX_set_hkdf_md(3) EVP_PKEY_CTX_set_tls1_prf_md(3) (HISTORY) -digest -rawin . -rawin (prehash) Ed25519 Ed448 ML-DSA SLH-DSA . -digest . -kemop (mode) . -engine . (COPYRIGHT) - OpenSSL. . (<<>>) . . LICENSE . 3.6.4 2026-08-25 OPENSSL-PKEYUTL(1ssl)