OPENSSL-PKEYUTL(1ssl) OpenSSL OPENSSL-PKEYUTL(1ssl) openssl-pkeyutl - openssl pkeyutl [-help] [-in ] [-rawin] [-digest ] [-out ] [-secret ] [-sigfile ] [-inkey _|_] [-keyform DER|PEM|P12|ENGINE] [-passin ] [-pubin] [-certin] [-rev] [-sign] [-verify] [-verifyrecover] [-encrypt] [-decrypt] [-derive] [-peerkey ] [-peerform DER|PEM|P12|ENGINE] [-encap] [-decap] [-kdf ] [-kdflen ] [-kemop ] [-pkeyopt :] [-pkeyopt_passin [:_]] [-hexdump] [-asn1parse] [-engine ] [-engine_impl] [-rand ] [-writerand ] [-provider ] [-provider-path ] [-provparam [:]=] [-propquery propq] [-config _] ( ) . ( -sign) . -help . -in _ . -rawin (hash). EdDSA -digest. RSA DSA ECDSA SHA256. SM2 SM3. -sign -verify . EdDSA ( Ed25519 Ed448) OpenSSL 3.5 . -digest -rawin OpenSSL 3.5. -digest -sign -verify. . ( EdDSA). -rawin ( -rawin ). -rawin OpenSSL 3.5 . HashEdDSA ( ph " " EdDSA) -digest EdDSA. -out _ . -secret _ -encap -decap. -encap () -out. -sigfile -verify . -inkey _|_ . -keyform DER|PEM|P12|ENGINE . openssl-format-options(1) . -passin . openssl-passphrase-options(1). -pubin . . . -certin . -rev . ( CryptoAPI) little-endian. -rawin. -sign . . -rawin -digest . -in -pkeyopt "digest:"md ( RSA PKCS#1 ). ECDSA -pkeyopt . -verify -sigfile . -in -rawin . . -verifyrecover ( ). RSA PKCS#1 DER EMSA-PKCS-v1_5 (OID) RFC8017 9.2 . -in ( -sign -verify) -sign. RSA . -encrypt . -decrypt . -derive (EC)DH . -peerkey (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) ECDHE ( DHKEM) ML-KEM TLS . . -decap -private . -in. -secret . : ML-KEM X25519 X448 EC. ECX EC DHKEM RFC9180 . RSA RSASVE. -kemop -encap/-decap KEM . . -kdf . TLS1-PRF HKDF. : KDF . EVP_PKEY_CTX_set_hkdf_md(3) EVP_PKEY_CTX_set_tls1_prf_md(3) . -kdflen KDF. -pkeyopt : :. "" . -pkeyopt_passin [:__] (stdin) . . __ openssl-passphrase-options(1). -hexdump . -asn1parse ASN.1 DER . -verifyrecover ASN.1 DER ( ) PKCS#1 v1.5 DER. -engine id " " openssl(1). . -engine_impl -engine id . -rand files -writerand file " " openssl(1) . -provider name -provider-path path -provparam [name:]key=value -propquery propq " " openssl(1) provider(7) property(7). -config _ " " openssl(1). . OpenSSL . -pkeyopt "digest:"alg . alg EVP_get_digestbyname() sha256. . ( ) ( DigestInfo RSASSA PKCS#1 v1.5). -pkeyopt "digest" sha256 32 SHA256. -rawin . . RSA (modulus). ECDSA DSA . EVP_MAX_MD_SIZE 64 . RSA RSA . . pkeyopt : rsa_padding_mode:mode RSA. mode pkcs1 PKCS#1 none oaep OAEP x931 X9.31 pss PSS. PKCS#1 DigestInfo. DigestInfo . pkcs1 Bleichenbacher . none PKCS#1 v1.5 . oaep . x931 X9.31. . pss . rsa_pss_saltlen:len pss (salt). : digest max . auto PSS. rsa_mgf1_md:digest MGF1 PSS OAEP. MGF1 PSS . rsa_oaep_md:digest OAEP. SHA256. rsa_pkcs1_implicit_rejection:flag ( 0) ( 1) PKCS#1 v1.5. ( ) Bleichenbacher . . RSA-PSS RSA-PSS RSA PSS. -pkeyopt : rsa_padding_mode:mode rsa_pss_saltlen:len rsa_mgf1_md:digest RSA . pss . MGF1 . MGF1 . DSA DSA . -pkeyopt digest. SHA256 . DH DH -pkeyopt . EC EC . ECDSA ECDH. SHA256 -pkeyopt digest. X25519 X448 X25519 X448 . . SLH-DSA 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 EVP_PKEY-SLH-DSA(7) EVP_SIGNATURE-SLH-DSA(7) SLH-DSA . ML-DSA-44 ML-DSA-65 ML-DSA-87 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 : 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 . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt test-entropy:abcdefghijklmnopqrstuvwxyz012345 hextest-entropy:value (entropy) . : $ openssl pkeyutl -sign -in file.txt -inkey mldsa65.pem -out sig -pkeyopt hextest-entropy:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f deterministic:value (deterministic). : $ 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 . . : $ 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 . EVP_SIGNATURE-ML-DSA(7) ML-DSA . ML-KEM-512 ML-KEM-768 ML-KEM-1024 ML-KEM (encapsulation) . hexikme:entropy entropy 64 32 . . EVP_KEM-ML-KEM(7) . ED25519 ED448 . OpenSSL "" . OpenSSL " " (oneshot) . / . . . ( stdin) . SM2 SM2 . SM2 (Distinguishing ID). -pkeyopt : distid:string SM2. SM2 . . hexdistid:hex_string SM2. SM2 . . . : 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 48 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 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), OpenSSL 3.5 -digest -rawin Ed25519 Ed448. OpenSSL 3.5 -kemop mode . -engine OpenSSL 3.0. 2006-2026 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 OPENSSL-PKEYUTL(1ssl)