本文介绍了OpenSSL 3.5.0中引入的对量子安全密码算法的支持,包括ML-KEM (FIPS 203), ML-DSA (FIPS 204) 和 SLH-DSA (FIPS 205)。文章展示了如何在Windows环境下编译OpenSSL 3.5,并演示了如何使用这些新的密码算法生成密钥对、签名和验证消息,以及进行了性能基准测试。
我已经为 Microsoft Windows x68 构建了 OpenSSL 3.5.0,在这里。
OpenSSL 是 Internet 的基础软件库之一,绝大多数网站都使用它来实现 HTTPs,以及许多其他应用程序。它也是网络安全的瑞士军刀,用于实现几乎所有我们最知名的加密方法,包括对称密钥方法、哈希、MAC 码和数字签名。不幸的是,它在实现最新方法方面可能有点慢,但随着 OpenSSL 3.5 的发布,这一切都将改变,它实现了 ML-KEM (FIPS 203)、ML-DSA (FIPS 204) 和 SLH-DSA (FIPS 205)。目前,你可能需要 Msys2 来编译 beta 版本 [ 在这里]。
因此,通过:
./Configure mingw64
make
大约 30 分钟后,我得到了一个全新的 OpenSSL 可执行文件:
C:\msys64\home\billbuchanan\openssl-3–5\apps>openssl -version
OpenSSL 3.6.0-dev (Library: OpenSSL 3.6.0-dev )
事实上,它显示的是 3.6.0 开发版,所以我稍微升级了一下 OpenSSL 3.5。大多数命令行参数看起来与以前的版本相同:
C:\msys64\home\billbuchanan\openssl-3–5\apps>openssl
help:
Standard commands
asn1parse ca ciphers cmp
cms crl crl2pkcs7 dgst
dhparam dsa dsaparam ec
ecparam enc engine errstr
fipsinstall gendsa genpkey genrsa
help info kdf list
mac nseq ocsp passwd
pkcs12 pkcs7 pkcs8 pkey
pkeyparam pkeyutl prime rand
rehash req rsa rsautl
s_client s_server s_time sess_id
skeyutl smime speed spkac
srp storeutl ts verify
version x509
Message Digest commands (see the `dgst' command for more details)
blake2b512 blake2s256 md4 md5
mdc2 rmd160 sha1 sha224
sha256 sha3–224 sha3–256 sha3–384
sha3–512 sha512 sha512–224
sha512–256 shake128 shake256 sm3
Cipher commands (see the `enc' command for more details)
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb
aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb
aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1
aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb
aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8
aria-256-ctr aria-256-ecb aria-256-ofb base64
bf bf-cbc bf-cfb bf-ecb
bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc
camellia-192-ecb camellia-256-cbc camellia-256-ecb cast
cast-cbc cast5-cbc cast5-cfb cast5-ecb
cast5-ofb des des-cbc des-cfb
des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb
des-ede3-ofb des-ofb des3 desx
idea idea-cbc idea-cfb idea-ecb
idea-ofb rc2 rc2–40-cbc rc2–64-cbc
rc2-cbc rc2-cfb rc2-ecb rc2-ofb
rc4 rc4–40 seed seed-cbc
seed-cfb seed-ecb seed-ofb sm4-cbc
sm4-cfb sm4-ctr sm4-ecb sm4-ofb
由此可见,RC5 已被删除,并添加了 skeyutl。对于 KEM 方法,我们得到:
C:\msys64\home\billbuchanan\openssl-3–5\apps>openssl list -kem-algorithms
{ 1.2.840.113549.1.1.1, 2.5.8.1.1, RSA, rsaEncryption } @ default
{ 1.2.840.10045.2.1, EC, id-ecPublicKey } @ default
{ 1.3.101.110, X25519 } @ default
{ 1.3.101.111, X448 } @ default
{ 2.16.840.1.101.3.4.4.1, id-alg-ml-kem-512, ML-KEM-512, MLKEM512 } @ default
{ 2.16.840.1.101.3.4.4.2, id-alg-ml-kem-768, ML-KEM-768, MLKEM768 } @ default
{ 2.16.840.1.101.3.4.4.3, id-alg-ml-kem-1024, ML-KEM-1024, MLKEM1024 } @ default
X25519MLKEM768 @ default
X448MLKEM1024 @ default
SecP256r1MLKEM768 @ default
SecP384r1MLKEM1024 @ default
我们看到了 RSA、ECDH、X25519 和 X448 的标准密钥交换方法,以及 ML-KEM-512、ML-KEM-768 和 ML_KEM-1024 的实现,以及 X25519-ML-KEM-769 和 secp256k1-KEM768 (P256-KEM-768) 的混合方法。这意味着我们可以为 X25519 和 P256 使用混合密钥交换方法,并允许轻松迁移我们现有的 Diffie-Hellman 密钥交换方法。
对于签名方法,OpenSSL 仍然支持 RSA、DSA(但已弃用)、Ed25519、Ed448、SM2(中国标准)和 ECDSA 用于签名方法。它现在添加了 ML-DSA (Dilitium) 和 SHL-DSA (SPHINCS+):
C:\msys64\home\billbuchanan\openssl-3–5\apps>openssl list -signature-algorithms
{ 1.2.840.113549.1.1.1, 2.5.8.1.1, RSA, rsaEncryption } @ default
{ 1.2.840.10040.4.1, 1.3.14.3.2.12, DSA, DSA-old, dsaEncryption, dsaEncryption-old } @ default
{ 1.2.840.10040.4.3, 1.3.14.3.2.27, DSA-SHA, DSA-SHA-1, DSA-SHA1, DSA-SHA1-old, dsaWithSHA, dsaWithSHA1, dsaWithSHA1-old } @ default
{ 1.3.101.112, ED25519 } @ default
{ 1.3.101.113, ED448 } @ default
{ 1.2.156.10197.1.301, SM2 } @ default
{ 2.16.840.1.101.3.4.3.1, DSA-SHA2–224, DSA-SHA224, dsa_with_SHA224 } @ default
{ 2.16.840.1.101.3.4.3.2, DSA-SHA2–256, DSA-SHA256, dsa_with_SHA256 } @ default
{ 1.2.840.1.101.3.4.3.3, DSA-SHA2–384, DSA-SHA384, dsa_with_SHA384, id-dsa-with-sha384 } @ default
{ 1.2.840.1.101.3.4.3.4, DSA-SHA2–512, DSA-SHA512, dsa_with_SHA512, id-dsa-with-sha512 } @ default
{ 2.16.840.1.101.3.4.3.5, DSA-SHA3–224, dsa_with_SHA3–224, id-dsa-with-sha3–224 } @ default
{ 2.16.840.1.101.3.4.3.6, DSA-SHA3–256, dsa_with_SHA3–256, id-dsa-with-sha3–256 } @ default
{ 2.16.840.1.101.3.4.3.7, DSA-SHA3–384, dsa_with_SHA3–384, id-dsa-with-sha3–384 } @ default
{ 2.16.840.1.101.3.4.3.8, DSA-SHA3–512, dsa_with_SHA3–512, id-dsa-with-sha3–512 } @ default
{ 1.3.36.3.3.1.2, ripemd160WithRSA, RSA-RIPEMD160 } @ default
{ 1.2.840.113549.1.1.5, RSA-SHA-1, RSA-SHA1, sha1WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.14, RSA-SHA2–224, RSA-SHA224, sha224WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.11, RSA-SHA2–256, RSA-SHA256, sha256WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.12, RSA-SHA2–384, RSA-SHA384, sha384WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.13, RSA-SHA2–512, RSA-SHA512, sha512WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.15, RSA-SHA2–512/224, RSA-SHA512–224, sha512–224WithRSAEncryption } @ default
{ 1.2.840.113549.1.1.16, RSA-SHA2–512/256, RSA-SHA512–256, sha512–256WithRSAEncryption } @ default
{ 2.16.840.1.101.3.4.3.13, id-rsassa-pkcs1-v1_5-with-sha3–224, RSA-SHA3–224 } @ default
{ 2.16.840.1.101.3.4.3.14, id-rsassa-pkcs1-v1_5-with-sha3–256, RSA-SHA3–256 } @ default
{ 2.16.840.1.101.3.4.3.15, id-rsassa-pkcs1-v1_5-with-sha3–384, RSA-SHA3–384 } @ default
{ 2.16.840.1.101.3.4.3.16, id-rsassa-pkcs1-v1_5-with-sha3–512, RSA-SHA3–512 } @ default
{ 1.2.156.10197.1.504, RSA-SM3, sm3WithRSAEncryption } @ default
ED25519ph @ default
ED25519ctx @ default
ED448ph @ default
ECDSA @ default
{ 1.2.840.10045.4.1, ECDSA-SHA-1, ECDSA-SHA1, ecdsa-with-SHA1 } @ default
{ 1.2.840.10045.4.3.1, ECDSA-SHA2–224, ECDSA-SHA224, ecdsa-with-SHA224 } @ default
{ 1.2.840.10045.4.3.2, ECDSA-SHA2–256, ECDSA-SHA256, ecdsa-with-SHA256 } @ default
{ 1.2.840.10045.4.3.3, ECDSA-SHA2–384, ECDSA-SHA384, ecdsa-with-SHA384 } @ default
{ 1.2.840.10045.4.3.4, ECDSA-SHA2–512, ECDSA-SHA512, ecdsa-with-SHA512 } @ default
{ 2.16.840.1.101.3.4.3.9, ECDSA-SHA3–224, ecdsa_with_SHA3–224, id-ecdsa-with-sha3–224 } @ default
{ 2.16.840.1.101.3.4.3.10, ECDSA-SHA3–256, ecdsa_with_SHA3–256, id-ecdsa-with-sha3–256 } @ default
{ 2.16.840.1.101.3.4.3.11, ECDSA-SHA3–384, ecdsa_with_SHA3–384, id-ecdsa-with-sha3–384 } @ default
{ 2.16.840.1.101.3.4.3.12, ECSA-SHA3–512, ecdsa_with_SHA3–512, id-ecdsa-with-sha3–512 } @ default
{ 2.16.840.1.101.3.4.3.17, id-ml-dsa-44, ML-DSA-44, MLDSA44 } @ default
{ 2.16.840.1.101.3.4.3.18, id-ml-dsa-65, ML-DSA-65, MLDSA65 } @ default
{ 2.16.840.1.101.3.4.3.19, id-ml-dsa-87, ML-DSA-87, MLDSA87 } @ default
HMAC @ default
SIPHASH @ default
POLY1305 @ default
CMAC @ default
{ 2.16.840.1.101.3.4.3.20, id-slh-dsa-sha2–128s, SLH-DSA-SHA2–128s } @ default
{ 2.16.840.1.101.3.4.3.21, id-slh-dsa-sha2–128f, SLH-DSA-SHA2–128f } @ default
{ 2.16.840.1.101.3.4.3.22, id-slh-dsa-sha2–192s, SLH-DSA-SHA2–192s } @ default
{ 2.16.840.1.101.3.4.3.23, id-slh-dsa-sha2–192f, SLH-DSA-SHA2–192f } @ default
{ 2.16.840.1.101.3.4.3.24, id-slh-dsa-sha2–256s, SLH-DSA-SHA2–256s } @ default
{ 2.16.840.1.101.3.4.3.25, id-slh-dsa-sha2–256f, SLH-DSA-SHA2–256f } @ default
{ 2.16.840.1.101.3.4.3.26, id-slh-dsa-shake-128s, SLH-DSA-SHAKE-128s } @ default
{ 2.16.840.1.101.3.4.3.27, id-slh-dsa-shake-128f, SLH-DSA-SHAKE-128f } @ default
{ 2.16.840.1.101.3.4.3.28, id-slh-dsa-shake-192s, SLH-DSA-SHAKE-192s } @ default
{ 2.16.840.1.101.3.4.3.29, id-slh-dsa-shake-192f, SLH-DSA-SHAKE-192f } @ default
{ 2.16.840.1.101.3.4.3.30, id-slh-dsa-shake-256s, SLH-DSA-SHAKE-256s } @ default
{ 2.16.840.1.101.3.4.3.31, id-slh-dsa-shake-256f, SLH-DSA-SHAKE-256f } @ default
对于 KEM 方法的基准测试,我们得到:
C:\msys64\home\billbuchanan\openssl-3-5\apps> openssl speed -kem-algorithms
Doing rsa512 keygen ops for 10s: 3354 rsa512 KEM keygen ops in 9.94s
Doing rsa512 encaps ops for 10s: 1906918 rsa512 KEM encaps ops in 10.00s
Doing rsa512 decaps ops for 10s: 278928 rsa512 KEM decaps ops in 10.02s
Doing rsa1024 keygen ops for 10s: 934 rsa1024 KEM keygen ops in 10.05s
Doing rsa1024 encaps ops for 10s: 1028320 rsa1024 KEM encaps ops in 9.88s
Doing rsa1024 decaps ops for 10s: 84811 rsa1024 KEM decaps ops in 9.98s
Doing rsa2048 keygen ops for 10s: 168 rsa2048 KEM keygen ops in 10.02s
Doing rsa2048 encaps ops for 10s: 349497 rsa2048 KEM encaps ops in 9.95s
Doing rsa2048 decaps ops for 10s: 11615 rsa2048 KEM decaps ops in 9.98s
Doing rsa3072 keygen ops for 10s: 45 rsa3072 KEM keygen ops in 10.06s
Doing rsa3072 encaps ops for 10s: 180563 rsa3072 KEM encaps ops in 9.98s
Doing rsa3072 decaps ops for 10s: 3902 rsa3072 KEM decaps ops in 10.02s
Doing rsa4096 keygen ops for 10s: 20 rsa4096 KEM keygen ops in 10.25s
Doing rsa4096 encaps ops for 10s: 105263 rsa4096 KEM encaps ops in 9.97s
Doing rsa4096 decaps ops for 10s: 1726 rsa4096 KEM decaps ops in 10.03s
Doing rsa7680 keygen ops for 10s: 1 rsa7680 KEM keygen ops in 12.34s
Doing rsa7680 encaps ops for 10s: 31470 rsa7680 KEM encaps ops in 9.97s
Doing rsa7680 decaps ops for 10s: 199 rsa7680 KEM decaps ops in 9.91s
Doing rsa15360 keygen ops for 10s: 2 rsa15360 KEM keygen ops in 52.66s
Doing rsa15360 encaps ops for 10s: 7873 rsa15360 KEM encaps ops in 9.92s
Doing rsa15360 decaps ops for 10s: 34 rsa15360 KEM decaps ops in 9.91s
Doing ECP-256 keygen ops for 10s: 463940 ECP-256 KEM keygen ops in 10.02s
Doing ECP-256 encaps ops for 10s: 119869 ECP-256 KEM encaps ops in 9.97s
Doing ECP-256 decaps ops for 10s: 158599 ECP-256 KEM decaps ops in 10.00s
Doing ECP-384 keygen ops for 10s: 12209 ECP-384 KEM keygen ops in 10.00s
Doing ECP-384 encaps ops for 10s: 6145 ECP-384 KEM encaps ops in 9.98s
Doing ECP-384 decaps ops for 10s: 11462 ECP-384 KEM decaps ops in 9.86s
Doing ECP-521 keygen ops for 10s: 5197 ECP-521 KEM keygen ops in 10.00s
Doing ECP-521 encaps ops for 10s: 2588 ECP-521 KEM encaps ops in 10.08s
Doing ECP-521 decaps ops for 10s: 5224 ECP-521 KEM decaps ops in 9.98s
Doing X25519 keygen ops for 10s: 420222 X25519 KEM keygen ops in 9.94s
Doing X25519 encaps ops for 10s: 150133 X25519 KEM encaps ops in 10.00s
Doing X25519 decaps ops for 10s: 269801 X25519 KEM decaps ops in 9.98s
Doing X448 keygen ops for 10s: 44955 X448 KEM keygen ops in 9.94s
Doing X448 encaps ops for 10s: 28566 X448 KEM encaps ops in 9.97s
Doing X448 decaps ops for 10s: 81137 X448 KEM decaps ops in 10.05s
Doing ML-KEM-512 keygen ops for 10s: 330942 ML-KEM-512 KEM keygen ops in 9.97s
Doing ML-KEM-512 encaps ops for 10s: 731184 ML-KEM-512 KEM encaps ops in 9.97s
Doing ML-KEM-512 decaps ops for 10s: 470089 ML-KEM-512 KEM decaps ops in 10.00s
Doing ML-KEM-768 keygen ops for 10s: 240160 ML-KEM-768 KEM keygen ops in 9.81s
Doing ML-KEM-768 encaps ops for 10s: 572567 ML-KEM-768 KEM encaps ops in 9.91s
Doing ML-KEM-768 decaps ops for 10s: 363122 ML-KEM-768 KEM decaps ops in 10.05s
Doing ML-KEM-1024 keygen ops for 10s: 169209 ML-KEM-1024 KEM keygen ops in 9.98s
Doing ML-KEM-1024 encaps ops for 10s: 443656 ML-KEM-1024 KEM encaps ops in 9.95s
Doing ML-KEM-1024 decaps ops for 10s: 283668 ML-KEM-1024 KEM decaps ops in 9.94s
Doing X25519MLKEM768 keygen ops for 10s: 140049 X25519MLKEM768 KEM keygen ops in 9.97s
Doing X25519MLKEM768 encaps ops for 10s: 90245 X25519MLKEM768 KEM encaps ops in 10.02s
Doing X25519MLKEM768 decaps ops for 10s: 114486 X25519MLKEM768 KEM decaps ops in 9.92s
Doing X448MLKEM1024 keygen ops for 10s: 34706 X448MLKEM1024 KEM keygen ops in 9.97s
Doing X448MLKEM1024 encaps ops for 10s: 27122 X448MLKEM1024 KEM encaps ops in 9.98s
Doing X448MLKEM1024 decaps ops for 10s: 63967 X448MLKEM1024 KEM decaps ops in 9.95s
Doing SecP256r1MLKEM768 keygen ops for 10s: 121288 SecP256r1MLKEM768 KEM keygen ops in 10.00s
Doing SecP256r1MLKEM768 encaps ops for 10s: 100317 SecP256r1MLKEM768 KEM encaps ops in 9.98s
Doing SecP256r1MLKEM768 decaps ops for 10s: 110345 SecP256r1MLKEM768 KEM decaps ops in 10.11s
Doing SecP384r1MLKEM1024 keygen ops for 10s: 11010 SecP384r1MLKEM1024 KEM keygen ops in 9.95s
Doing SecP384r1MLKEM1024 encaps ops for 10s: 5796 SecP384r1MLKEM1024 KEM encaps ops in 9.98s
Doing SecP384r1MLKEM1024 decaps ops for 10s: 10409 SecP384r1MLKEM1024 KEM decaps ops in 9.94s
version: 3.6.0-dev
built on: Thu Apr 3 09:41:19 2025 UTC
options: bn(64,64)
compiler: gcc -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x0298220307888511:0x0000000000000000:0x0000000000000000:0x0000000000000000:0x0000000000000000
keygen encaps decaps keygens/s encaps/s decaps/s
rsa512 0.002963s 0.000005s 0.000036s 337.5 190691.8 27849.3
rsa1024 0.010757s 0.000010s 0.000118s 93.0 104133.7 8494.4
rsa2048 0.059617s 0.000028s 0.000860s 16.8 35114.3 1163.3
rsa3072 0.223611s 0.000055s 0.002567s 4.5 18084.6 389.6
rsa4096 0.512500s 0.000095s 0.005812s 2.0 10559.3 172.1
rsa7680 12.343750s 0.000317s 0.049780s 0.1 3156.9 20.1
rsa15360 26.328125s 0.001260s 0.291360s 0.0 793.5 3.4
ECP-256 0.000022s 0.000083s 0.000063s 46321.6 12024.5 15859.9
ECP-384 0.000819s 0.001625s 0.000860s 1220.9 615.5 1162.5
ECP-521 0.001924s 0.003894s 0.001911s 519.7 256.8 523.2
X25519 0.000024s 0.000067s 0.000037s 42286.5 15013.3 27022.3
X448 0.000221s 0.000349s 0.000124s 4523.8 2865.6 807```
> openssl genpkey -algorithm ML-KEM-512
-----BEGIN PRIVATE KEY-----
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
z8U=
-----END PRIVATE KEY-----
> openssl genpkey -algorithm ML-KEM-768
-----BEGIN PRIVATE KEY-----
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
AlY=
-----END PRIVATE KEY-----
> openssl genpkey -algorithm ML-KEM-1024
-----BEGIN PRIVATE KEY-----
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
CQs=
-----END PRIVATE KEY-----
我们可以使用 -text 选项查看密钥的详细信息,其中 dk 是私钥,ek 是密钥封装的公钥:
> openssl genpkey -algorithm ML-KEM-512 -text
ML-KEM-512 私钥:
seed:
fb:5e:5a:54:a3:8f:2c:dc:1d:6f:c5:d5:09:19:76:
50:84:89:fd:5f:f5:fb:9e:4b:91:94:a6:8f:6a:90:
be:db:68:d7:70:61:82:9f:e4:06:3f:d9:e2:d5:63:
a7:a9:c7:6c:ed:a8:d2:c8:80:1f:92:84:63:94:1c:
29:39:c6:65
dk:
99:fa:69:fc:b0:44:51:e8:7e:79:a0:be:d2:8a:34:
38:5a:52:b2:97:94:53:c9:74:e6:b7:a2:0b:f1:8e:
f0:c0:1e:6e:f4:46:c1:95:4e:41:64:07:79:74:31:
4a:e8:2a:36:e8:6f:57:c7:a5:90:e1:bb:16:11:bb:
30:62:5c:96:f1:3f:d9:e9:75:c9:16:97:58:11:6f:
66:36:51:7c:67:ba:56:21:41:2b:f2:3a:25:36:09:
43:2a:c0:8e:81:17:d8:09:cf:e0:3a:31:0c:59:5c:
21:15:8c:5d:32:be:dc:5b:49:03:79:0e:53:37:7d:
f0:e5:1e:cd:02:13:d5:95:96:6c:d7:a3:8e:5c:13:
a0:c9:03:44:96:48:aa:69:72:b6:37:6f:99:54:93:
9f:56:c6:f4:a5:0b:08:b5:5a:b4:ec:0b:ad:3a:70:
1f:68:16:0b:ba:04:3a:45:50:2b:aa:8b:96:44:17:
02:d4:c0:7b:0c:0b:36:eb:40:24:c7:0c:24:14:c5:
82:09:cc:6c:66:2e:59:15:09:6c:47:98:df:69:2e:
29:35:56:40:54:2a:1d:40:1a:c7:36:05:23:22:ad:
27:81:b0:96:07:41:d6:20:b0:38:0b:b7:c9:1a:76:
f5:87:99:e5:93:cc:d2:a5:55:1f:c4:12:4f:08:a7:
85:5b:52:67:9a:a3:1c:81:12:db:81:6f:2f:28:96:
fb:31:a9:16:f5:3c:cd:e0:02:f9:a0:83:72:d6:08:
76:33:ae:66:aa:6b:70:cb:7b:f2:0a:76:4a:43:40:
36:a1:05:7e:db:34:32:d5:83:39:36:a3:a9:cc:3a:
d5:b1:8b:b4:72:58:84:14:87:0b:e9:bc:33:84:0a:
c9:90:c0:c0:79:6b:c7:67:94:e3:9c:61:cf:c0:35:
c1:ea:59:87:13:94:a7:19:bf:3d:84:50:2e:92:92:
d1:86:3f:6a:79:a6:e9:33:52:40:b4:42:94:6b:6b:
91:76:2e:e6:a1:1b:86:a6:5d:15:18:18:60:1b:3c:
5a:d8:cb:cd:c1:6c:0f:0b:7b:ce:cc:7d:57:e2:ba:
21:c2:7f:37:96:62:d4:46:38:f8:e5:cb:79:69:06:
59:2b:91:bb:da:ba:14:7c:8b:df:d1:ba:aa:e7:91:
5c:93:9c:5d:58:6e:23:64:c9:fb:72:22:b1:b3:a6:
e1:9c:ad:f5:fa:50:c4:e6:11:ff:c1:43:1c:16:02:
c5:db:49:72:28:31:e5:d7:c0:4e:f0:87:a5:3b:73:
c3:12:ae:08:f4:b0:f0:0b:c2:90:d2:ca:29:32:a8:
ce:09:be:d6:dc:56:a9:a9:28:21:9b:43:72:e5:4a:
2b:fa:2a:fe:f7:4d:cd:c7:03:f9:53:60:d8:c4:9b:
95:19:29:98:47:bc:55:17:38:9c:e7:43:a9:81:1c:
b9:da:5a:e8:6b:05:b4:34:40:d8:1a:73:c4:12:08:
65:04:18:cc:33:28:d5:34:ac:e4:42:1a:e6:47:c0:
5a:4c:b8:9d:72:97:c2:3b:a5:da:cb:91:78:20:6f:
ff:7b:56:29:70:cd:99:b5:b0:89:13:29:3f:72:3f:
5d:87:b1:01:67:55:91:64:8d:df:59:0f:6e:9a:46:
8c:66:99:6d:58:3e:bb:ca:a5:1f:03:b0:e0:45:50:
52:24:5f:15:67:0f:df:9a:2e:4b:25:05:fb:5b:04:
be:b7:75:57:d0:a1:ef:79:b0:7c:f3:86:2d:96:37:
dd:0c:07:9b:43:ba:7c:31:26:ce:b1:70:5d:46:37:
12:9a:0d:37:e4:36:96:51:1d:82:95:ab:79:88:bd:
1d:48:c7:ee:07:15:b9:11:88:8f:f8:74:82:65:72:
51:e3:31:90:81:51:45:ab:89:11:2c:96:67:c3:75:
45:59:73:40:41:3c:6f:15:76:a7:c6:1f:4e:99:67:
bb:0c:c5:bc:72:5f:a9:89:3c:62:52:b4:16:87:89:
48:90:2a:9e:35:76:1a:12:3f:3b:9b:1b:5c:45:35:
f5:26:4d:d2:01:cd:aa:61:94:d5:30:47:22:9a:41:
6a:c9:4a:af:c1:4b:b1:05:33:cb:99:0a:d8:b7:22:
56:c5:bf:30:64:1b:c6:7a:60:c9:31:8d:b3:e6:82:
85:7b:2d:bc:a5:c9:dd:89:33:13:d8:21:ef:43:82:
1d:c6:01:e1:33:71:eb:74:58:30:8c:38:28:94:6b:
dc:03:91:d0:ec:bb:e1:13:16:a2:8a:9a:36:50:c8:
77:e4:2a:0b:e0:1d:d5:52:2a:33:f6:4a:50:b6:57:
97:c8:68:07:08:4e:51:80:82:5e:a6:87:b4:b5:aa:
b5:c4:11:26:9b:97:54:89:75:66:b0:05:25:a9:3f:
f4:46:57:eb:9b:79:76:88:bf:8f:b3:7e:70:25:00:
50:14:34:00:a1:ac:e2:9c:22:69:f9:35:86:84:66:
37:e6:96:ca:75:88:df:aa:1e:f4:38:2d:44:46:50:
4f:f5:c6:d3:85:04:2f:34:b4:6a:50:22:9f:f9:51:
5d:11:b0:e5:50:49:1a:c4:51:58:e2:4f:26:c6:34:
a0:6c:8e:a8:e1:c6:9d:65:50:d6:b9:71:fd:18:b9:
9a:b0:39:1e:e8:ae:7c:b5:b9:76:fb:6f:5e:39:15:
85:47:a1:f9:39:8c:da:31:27:0e:89:af:86:60:8c:
5a:04:5b:4f:8c:6c:e5:b9:92:b9:ab:56:4f:9a:67:
b9:b1:50:cd:3a:0c:92:f5:5b:9f:60:64:91:99:c7:
d8:42:30:c7:eb:19:53:99:72:ab:63:5c:70:5b:09:
df:a3:94:88:72:1f:71:85:bf:45:18:79:f8:92:08:
a5:00:35:4c:12:67:57:a9:32:06:29:45:4a:e4:36:
d6:63:54:55:c9:00:06:cc:cb:ec:06:a9:b3:08:9f:
93:2b:b3:b1:0a:a2:44:0c:b7:b0:26:32:b4:84:5f:
dc:8c:c6:e5:5c:36:f6:27:5f:5e:17:17:f8:a3:6e:
7c:41:31:8e:f8:95:d4:b4:af:69:25:84:de:00:c0:
44:41:38:86:67:5a:f7:a3:59:0f:ba:6b:f6:25:c7:
56:54:17:cc:e6:c3:2e:15:27:8d:56:5a:f6:77:03:
3f:72:7e:d6:09:04:eb:90:cf:2d:e5:a6:a9:21:1e:
6c:d8:1f:1d:a2:3f:75:43:32:01:69:9c:42:21:09:
b7:1c:cf:a5:b9:86:58:13:02:2d:f6:c6:bf:7a:c3:
56:13:4a:75:4a:b8:56:32:1e:e6:d6:58:1e:b2:bb:
dd:d3:2b:93:db:91:e1:a0:01:ea:99:48:77:76:ca:
33:a0:38:30:51:94:34:74:89:c5:d8:9e:8d:0b:bd:
17:4b:7b:9a:1a:1c:5a:6a:45:a3:51:82:6c:f0:27:
cc:60:cd:9b:a9:77:09:54:35:a1:2c:5d:f5:39:13:
6e:d1:18:c8:f8:5c:b4:d5:59:1f:67:ba:35:58:c1:
21:50:aa:0b:01:08:68:d6:29:7d:63:bd:7f:83:c0:
93:60:c0:4a:8c:35:d4:b8:37:37:14:55:9c:cc:c2:
03:8b:22:60:e0:71:59:d9:52:1c:d1:27:6c:7a:c4:
0b:20:ca:35:16:63:66:46:92:fb:7a:14:60:ac:38:
4a:c2:31:84:a1:22:d9:24:71:ad:21:c9:fe:c7:1d:
ac:1a:91:76:97:88:3a:9b:6f:43:e2:0c:8d:74:a6:
0d:5c:5b:4f:c2:49:5a:39:07:62:76:b2:12:1c:7f:
73:5b:a4:4c:7a:b6:22:97:c8:d0:fc:94:4f:45:17:
e3:60:1c:c6:f8:91:af:c0:47:f8:4b:ac:be:18:41:
4c:75:90:11:31:8d:e5:29:8b:4e:ac:8e:65:2a:82:
c1:21:62:94:e5:28:a3:91:bc:ce:78:56:53:e2:13:
40:77:09:4d:45:cc:ab:c4:11:60:86:84:9a:e7:11:
99:75:22:7c:78:13:0d:31:3f:77:26:a8:19:a7:8a:
99:1b:25:52:1c:9a:0a:12:0f:00:d1:68:ed:30:68:
4b:b8:bf:7c:c7:bb:fc:1e:6a:5c:0c:74:03:90:78:
17:83:a0:f4:66:b4:e0:8f:fd:4c:14:f3:04:3f:9a:
22:92:f9:fc:a2:19:f2:f7
ek:
d2:01:cd:aa:61:94:d5:30:47:22:9a:41:6a:c9:4a:
af:c1:4b:b1:05:33:cb:99:0a:d8:b7:22:56:c5:bf:
30:64:1b:c6:7a:60:c9:31:8d:b3:e6:82:85:7b:2d:
bc:a5:c9:dd:89:33:13:d8:21:ef:43:82:1d:c6:01:
e1:33:71:eb:74:58:30:8c:38:28:94:6b:dc:03:91:
d0:ec:bb:e1:13:16:a2:8a:9a:36:50:c8:77:e4:2a:
0b:e0:1d:d5:52:2a:33:f6:4a:50:b6:57:97:c8:68:
07:08:4e:51:80:82:5e:a6:87:b4:b5:aa:b5:c4:11:
26:9b:97:54:89:75:66:b0:05:25:a9:3f:f4:46:57:
eb:9b:79:76:88:bf:8f:b3:7e:70:25:00:50:14:34:
00:a1:ac:e2:9c:22:69:f9:35:86:84:66:37:e6:96:
ca:75:88:df:aa:1e:f4:38:2d:44:46:50:4f:f5:c6:
d3:85:04:2f:34:b4:6a:50:22:9f:f9:51:5d:11:b0:
e5:50:49:1a:c4:51:58:e2:4f:26:c6:34:a0:6c:8e:
a8:e1:c6:9d:65:50:d6:b9:71:fd:18:b9:9a:b0:39:
1e:e8:ae:7c:b5:b9:76:fb:6f:5e:39:15:85:47:a1:
f9:39:8c:da:31:27:0e:89:af:86:60:8c:5a:04:5b:
4f:8c:6c:e5:b9:92:b9:ab:56:4f:9a:67:b9:b1:50:
cd:3a:0c:92:f5:5b:9f:60:64:91:99:c7:d8:42:30:
c7:eb:19:53:99:72:ab:63:5c:70:5b:09:df:a3:94:
88:72:1f:71:85:bf:45:18:79:f8:92:08:a5:00:35:
4c:12:67:57:a9:32:06:29:45:4a:e4:36:d6:63:54:
55:c9:00:06:cc:cb:ec:06:a9:b3:08:9f:93:2b:b3:
b1:0a:a2:44:0c:b7:b0:26:32:b4:84:5f:dc:8c:c6:
e5:5c:36:f6:27:5f:5e:17:17:f8:a3:6e:7c:41:31:
8e:f8:95:d4:b4:af:69:25:84:de:00:c0:44:41:38:
86:67:5a:f7:a3:59:0f:ba:6b:f6:25:c7:56:54:17:
cc:e6:c3:2e:15:27:8d:56:5a:f6:77:03:3f:72:7e:
d6:09:04:eb:90:cf:2d:e5:a6:a9:21:1e:6c:d8:1f:
1d:a2:3f:75:43:32:01:69:9c:42:21:09:b7:1c:cf:
a5:b9:86:58:13:02:2d:f6:c6:bf:7a:c3:56:13:4a:
75:4a:b8:56:32:1e:e6:d6:58:1e:b2:bb:dd:d3:2b:
93:db:91:e1:a0:01:ea:99:48:77:76:ca:33:a0:38:
30:51:94:34:74:89:c5:d8:9e:8d:0b:bd:17:4b:7b:
9a:1a:1c:5a:6a:45:a3:51:82:6c:f0:27:cc:60:cd:
9b:a9:77:09:54:35:a1:2c:5d:f5:39:13:6e:d1:18:
c8:f8:5c:b4:d5:59:1f:67:ba:35:58:c1:21:50:aa:
0b:01:08:68:d6:29:7d:63:bd:7f:83:c0:93:60:c0:
4a:8c:35:d4:b8:37:37:14:55:9c:cc:c2:03:8b:22:
60:e0:71:59:d9:52:1c:d1:27:6c:7a:c4:0b:20:ca:
35:16:63:66:46:92:fb:7a:14:60:ac:38:4a:c2:31:
84:a1:22:d9:24:71:ad:21:c9:fe:c7:1d:ac:1a:91:
76:97:88:3a:9b:6f:43:e2:0c:8d:74:a6:0d:5c:5b:
4f:c2:49:5a:39:07:62:76:b2:12:1c:7f:73:5b:a4:
4c:7a:b6:22:97:c8:d0:fc:94:4f:45:17:e3:60:1c:
c6:f8:91:af:c0:47:f8:4b:ac:be:18:41:4c:75:90:
11:31:8d:e5:29:8b:4e:ac:8e:65:2a:82:c1:21:62:
94:e5:28:a3:91:bc:ce:78:56:53:e2:13:40:77:09:
4d:45:cc:ab:c4:11:60:86:84:9a:e7:11:99:75:22:
7c:78:13:0d:31:3f:77:26:a8:19:a7:8a:99:1b:25:
52:1c:9a:0a:12:0f:00:d1:68:ed:30:68:4b:b8:bf:
7c:c7:bb:fc:1e:6a:5c:0c:74:03:90:78:17:83:a0:
f4:66:b4:e0:8f:fd:4c:14:f3:04:3f:9a:22:92:f9:
fc:a2:19:f2:f7
要生成 ML-DSA 密钥的话:
> openssl genpkey -algorithm ml-dsa-44
-----BEGIN PRIVATE KEY-----
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
-----END PRIVATE KEY-----
> openssl genpkey -algorithm ml-dsa-65
-----BEGIN PRIVATE KEY-----
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
h3HfB9S2Dca1RaJFgM3qlOs1
-----END PRIVATE KEY-----
```> openssl genpkey -algorithm ml-dsa-87
-----BEGIN PRIVATE KEY-----
MIITXgIBADALBglghkgBZQMEAxMEghNKMIITRgQgLFdnqM9PBkDLsVIahiCVPsVk
oMzGlyyzOdrUUc52EGoEghMg2zwFFBcROhhgarxz2tbatS/Rt4nRIwJp99U09mvZ
N8J3YR/7KpZFEphRf2FX3iUvZoHE3CrUP6NHC+jd9VTg1ColV6dOjavTuZAaorEc
zgwGmnlOMs2uzUjKZ/1dKHqZX/5rQRrdyv8XDdt4Z3SU84/Ok8WhIl6T4n51bsuu
mHhJFkzbKGIRApJYgpCKOAzLxHBawoBTSGYTl0Ehg41LEGDIIFHMlkhUsAUAKUoK
JkGAEgoAQoWZlBBYqGwcOQ4gAiohSQYARAkUIUwiCESJNHCENnEbQ0wLyEgjNWgD
SSXLklHSwmnRMDBiCIWBMlIMtHEjB05JtnCYGHKThCwTIiHYOGpLQmbZhGTSGGIZ
ECACoVAaJkqMEpEBB4TKACwatG3MSCkEJ5CkCCaJQoRRqGjDGIYSAUoBsylSgkyJ
pATQiGgZmQmjBEyjRJGUIobJQgrYgETYEA4iSHAiCUkjl1ASlHCQMCgJExLRIpFL
hikMJJAjSIVbmAwZSEacNEKbFAHhgm0iExCDkmSgIgWIMCQLiUhIkAQDgY3BkoUb
RkqRsCgMBzFLInJYIgzZGJIQMyjSgiASI2ARBE0IAwgCJiBYlkkBQwxCpGTSCE7B
NIUQB2TSwAFBRo0iKWwimUWUAiEDADHalk3SNlCSmAniFpKbEFEbBJJZxFGUuIRM
EkKEmIAkQY3MMi2MNDGQkk2JtigIqSxTFiwYCUnksEFBhgzAplAkQoVZGARDljEB
REzSsGTKhi2TNEUbFYWTkJDYmIyhogxSoGwcRWkIF0iDCCRiMCHACCEESChBlJDg
MGKREgTDwkhaNpEchkwjs0GAskAQN44URyYCI5BjKEyjmHFiFAxCkmBjkiFkwAXD
smhMQGiYCAoRBJBktDEJMkIQAyIjmXHhlEwKFWgQhY0gtEDhMCgbQ4HklmyYyCkR
OGAhs5BLGFIIFA1hwgkMGSJJkiRhki0TQ4pUREoRmXEJgCmcNGpjKAIRpiHEAlCT
BIBKBGBZCIwJNiiUtpFkRoqDNEzEuInYQJCgJExIAjJURAwjwCHLNkRkSC4ZOHGj
xiECBxDgBiKQlhEhtSCkJggSQhCMGG2LKJFclHECMWVgGAZZpIxAyBAhGI1CxoQC
R0VAlAWCBkWARGjcSGEMgW1IAjDLoETkKIkUMooZyEHCiEWDFmncJAWJSAxkImok
RHHhxgiJyGQMmEhUQEZBAgoDIjHZkikKpJELN2mSFIQBII3EwDHkpEgKREUKJibZ
FCrjlohaGGkTI5AcAUSLMCUIiFBZlkBYSJIDOGybAAmQgmUKSBCUpCTIADKCSIEE
toACNUJEOGgMI2iAwDAJAEkbAUjJxgAil2DcolAcFGHBQokaIwyZIhEchQUSAHCk
kHGCpkkRg4WBMk6AGE6aAAmiMiEIRTILMjABQUGcwDHMOA2SgAUBJlGJgEEZEpEA
JogbIQQgEYlbFEyBAIFJAirRRgncSAmDFmaMGGaEBiURgg1LqGCAqC1btmhKJGjT
KCDTqAAUpRCjwmhDGGkcsGXZMgqkRCqiAFAauWGSJDJJliABQoSSMkobo3HiFEkj
s0BSkmgZOYrBQgVKAmKKAkKcyIECBBIiR2YiOYgSiWEkiAjItGALFYJkGApAhIEc
MWnaSAUEGIKhSCygGARcFk4KwnHSNihTQEIZlUhEpgTbKIhQMorAoESIqFCYEJJA
CG4gh0QBSYjYiImUGIkCOADEhoRZgikDmWncBo0SRkAQEI0jhIkRgZCDom3MoGyA
QClkkoSiQEgZRzIhlnEUJAgcKYEMA0xiOIBLBkkDxgxROC7ghEAiMwoZRYCMwoVg
OEyRlonQRmLhSG7TNCnCJnIZFk5TRGwCMYHCSHIiMGwDk2nMAiyTCAIDuGHEAgSB
Nowcx4kgKUaZtgFaOIEEOHCDgjCLBmKDlGgiBgTbBBAkwSmEBknjgIHZBIUROSiE
wkAIBJDgkAgEEY7CEA0gk4XSRARBxEAQkS0ZlTDaCAgCQGbQoCHLwFDEMC2YEIwQ
lkxUImwQlnGbKCDbhkShiFCRRibTRDJToImUAi0QSXHKxGwClg0aFoihgECDoGhY
kCinsrVmVbRc/71nZrrZNxyotS8vHRDaJDWKFXN4X1u1L2rQyc+Bocz9Bie4azlh
F70nojrpj02S1MR4bkbQHjgzPO9WumB1Vemw5njqT/RlGd6L9gYt3NtvsT8rUiva
XyAs60/Zg5WMRV6o/2korzNlWr2pKLrFh++Q6BX+yy0lYySjeDiuZwQvS7yZVaOR
TR2ICG/UFvaqMAzRCcAUEpfQmgribB0yjQ/AsVXIs3q4RLBVvDwITMM6QOFZuaEY
cbk/lMEme+foRA5kCvrFEr1xdQX4xP4rB3RHd/4H+2IPk1rYfpfxJn6WiOyHTXvA
YipsM8ymQCot7ezZAoxopaokyIKBCa79RpVmNiCsUKzYbLHuJRL6xZ4UowWTv3MP
sUb5Kp85CnLdo0ZSkYvJUscpFf8U1rMR6e1PSeBk4/dovQ2r/AN7K+cxoBxM5gQk
TL/RMWElCcYO8fMuDrBNVkUe90k3XCiv/Jyrvlr9RQ7teATXydFMy2ZWD6bmk4LI
ePIpSvxQXPFqy3ni6LMEy765E6bLoY+m/Sr7C9hfnKBCtVJtrsgKJbYolElqQIjU
Qq+bLAO/rqlSguDxOmndDhMp2eedVtZLlOeNeegdYgqdKVx5LBvX0V+cNzhPp7qp
XLDEbLrsKpQSBY9AL1nXyygZNM8Hza7TLRd2Jx8y5cP2rV+ADYg8X5r0MqB/mlRA
ESkWODrC/EqK/61M0OQ1emNjP5O0KrLfGsov/+NSy8mRolMhFM8CuupDlR+kSePU
5vgMQ30D1z/rJDsXScyr+SPQbxZXYfMG3GyUDLPqNhlMyh0X9OCg3UJapX9oQc0t
S2CH8UCOkGzuxkcBCuzWdIJFVTy5gK9IzRjJjV5VzGaxU/+zx0hL33x13ocUOkIh
k81UMV+N94QGoDK3/kzAHletu9sL4yUAZks5oegjanx4SwbN6Xu0xXVS5m571aTG
zLGpohdzWJrifb8OsdMHMmQHM55SHQ37nSaiKnY0WwAfr48j8rh/lzMAvSQJCGY9
i9B034/ZCWU8C+0AIgx5iQ6z8tVj/vNdpBZp3VNIG6sShje1hZ0rdC9mXwV1/Ytg
SNSf3tytfz/mBDe5CyuLaCGf/ffYeEFQTSuf4SVFVi3oCi4CphRjiEjH41w4tObA
gAlb/LvKZYRzmZBJRHvY8SKENPftLXUCd38Md3jLuKopHTB5Q1v4R9hNX+lY0rx9
qc90vssZPeB92DKAgeRQSETa/TpuAPCi1jfVS8aBkQ468oxO5yonFwVLLl3CUCIx
DV8MWgiyQRAvq3636Yf1cJUQ9PHEX18Tk1IZzdoWSCtvTI7vv2EOdarjZnGhg6iK
iyqx2Vby/9/cPb+HApqJtdizEHzGj+z7gK3r/hwS20pFfUbGgtIEiahwT3mC38Ty
MV7jlozWcah2TFJIcVy0M1J5P5dtVngnHEuczfu+9Ex/w1I0F3qrKcLecFoghq27
zIOKYRY0urFM/Kf/TUK8qxaBTO1F707sS9kc4hPlttdJXcWQHNf0OyC9OWfIfTUY
/9iLxp03H4xrcdoGRG+5BDGLdTPPmk3eGvrzkBJ4YR3Oz3emeGrhqdwxURzGkhgu
SvniZF6wcILO00zjSwaabrG6dLGU03/rgD8sPBPKnJUWPWpzBml3ZbOsffcJwuzk
N17yNxXfQ9tBXgEousGn7k+rxkROIUuN5iFXJ25mMiWYblIsMW97HQOBrGfRcFix
xvkefqxgtC43Vcd8LeizTwN5Q2EgAo/rasSfCNzW4NK0d9ce9HXrh9xnmhlbI6gj
HsHkdn99+b2teb0PoNW1WGNCvNqbwQOwNvOWLDgrt+rSQlorrsGEE7qpdAzY54HE
JIShn83kNr9+e0SG8U2ynuEsO3NPH1JKGsYu53p+bpYDwTGbL6hj+P9IY9PWXWnQ
JjA/jWMR0aiIBWON18E8GKAsSQ3dZNlX+X6TZOXANu4Qqsv8ky3+ObCUq6JQKtf+
C1RmCfaGJFmLoIRZs6IlMdmzNAbpPKfpyPyLWpD0sfACBc7J9rif5e7gReh02MR7
glnus6zGUr3SIQuaggXMFTcZgukZZNhK2L4vOzpUxPlmcg16l9ZaE/zVp1ceB6PG
aBvA26KnCGVIP7Y3lAKoyuNxqxsKDME4/Sdok/0Yoj03AFy5nlx2g05dLwtJbPos
2AIILoFfWTs4PMdJ88p2cmxXs8qr2az7kexDqeJQUTzm1FtMzkMWR8WN7O5ALxiL
VxQ44V8jbPVJu4e1hDJzSPGjz1cDy2KYRiKukv0Swvv+WlXHxj4w8KuxlLWjgvQv
E6zw+BClT21HqPhXSPjoR3H6DSeTFUd+iaEPdGUHP+ugCq7c7tplo0QFP/PZRfle
geJdux07EkYSEvZ++XpJncKnoIcN6Isc3Tdyqje4o5phf+uWLMi12/gqwavuDB9B
6bBvvwhyTVLOCTsTJxSSMurAf+khMOfUFYwC9ArGZpFzHnfxwCaoGft/d/pk4HWZ
vhiEoAiaFMQKdWxVchM9iujuFGDGX2ETCNBB7w9QBKr5u2d7nARaxUVAHjA5KIUo
7zBUa9dCEoEfx2NfMZsHe+MnWiF+FP8BAyAGEQsWCHMffXWr4bOfoH9I2yjvt3LN
lUU6HbM7JOvuPgjypa5ybHJe5JWCiEizgyD+X8J2DoZT0Vw3DAAdzdIa1GuHNQ5G
r/w4agp7t/CCXAPtLcI3zMCH/OEXO16yBy1ZhOHJh8mU9K7LxnQDP/w6cwKlTCOW
piM0snMbWx+c+oarAg888ibHtSslx38/fBwpHw7dwXP39bSZ3e+QnskRV+TAbzPz
BncnfZOvKITcqO1hkSe5WloxYrTd88OXaSu51RmPT+gACcN0125ROfO8p0HByD86
5n0Wz0elw87Rl+DTekx5tOuDsDWqVk4HOgebRu8s38yE25x38Ihqs7kGb7DtqBs6
GwDBE6aL3k/0biYytRDYnVG7Ulzka5tCgLF/f6ifScEQqmOdYQWD2KlEf6YBJYBL
UHu2cqDxS2+sWJfRAmDwy8nNyGnSgaqsIYMwXmRfeTyob8hH6Ouzym/UazcRIbVG
y17aRQRfM4aNtm3QuftFST77dsMHy4+xCSSX02Pfi/Mw3dUoirpESRKTvSM1YYyF
O3glaqargqMljt68Uoygh98yh3vzDPLFHhZz0f7vsT/0cadLtXdu9Zb+DTjdVZm2
uDPgmUzqJVGEzc6XuavxqVtZZnWfAH8xK9JwQLWRE9MCB0Ku53Lc8PYcC3/Zmzpf
geGsrqJJmW2wcKHSGNStLC35vBnure+Bi/Rxhn2NrN+jo7/2dhIfFbHBqYOnjXV9
oLNzEcDDJfKYzZycukLxgciGB0NNSGV3hD/02aUol0nD3rZk+ClP2YpKlsj+TVZi
5hp7LhAB5BYX5x1HUqXuD8YEiamVPrv9fwkvIFpctVQX1fAiSOi+0IEPnKz2kydu
E/KSck4Ps5/tlMbUN77Dlkua002jYui764F6YJOhqO54MTEOxJKmRI6osA5N4cvm
H78PimRic2TtVo17CZXuBdsPU2FnU3Zy/wDJpnyhPZO2P1hmnE1tjk/2NWt4iwiD
9rwdUzFq8jXTJ7NVqfnH/BbHnKGz38C6JVulUSnG0Kn4NMXmJflr09Rjw4KBoeY9
yg+MvAeBD5VOE49ImGRzyTM0WjxHF+VkxXezN2QQATALhC9GM80Eoz+1Ddoub0AK
WkciSEZImSFTOx3eF2XjV78iJQ3L6JAdv62UCT42T1WTg8HzyvLlsJugmI1ms5KS
nxjQbxNU78+m4D7OvVGBHmDxPEASgGbmzpmpPegPLtDPeH0cGVEJ+AUwnJEGcbio
eWeWbRMxAsLuI64dU84yKIN8/KkvWLv5g319ovp8ZEr1OSYY1A9fD2REPLOhBMXx
aC0SOT1yZFlr1wS8wTbxG09XE/Nhw1We7z8QVlC8xzTm5/e8MoKRGL0nM824p0A4
TKDsoUMXHckuxQsqLMvhT1zywBc8r7dU7ZUpZZoJlEKFpGFR67ZN+TkFT2qlnYZH
y26TtsGGNUhqGYxCBLmpK6dIn9+bkgxIh//TJLrNL81soRsY4Soc3ie5GZizr7AC
kfcQ4mQ7jRJojbE+tGAr0XpG/FfBBI0VAHTi8nmrXZtdm3KgCVrOKq8+EX0P64wi
/X67amrxMNdrwh26ps/6KWrnn7Y7N6GAVq2g3+0py4x0b+wwcK2vydoNkFUhUnOu
kpI83A9oftpG1OpIQwGDaKFpvciwrp2j+0SZD6ci4+VayBpkg5Khj8n4AzKrDwkl
2oHyiOKeXt8wYwOzOlN83UXVY4PkdiJKEzlBy53hLXdJtMJbTskra/h86NhC8/ik
tel9JtI1NEELu0LCnU9OcrhYpu+tVVzWkDFl5N+I5cWp12/MrY5G1FIB+m8tleoK
LwAeselgDkRz3GKsrzuNJo0f
-----END PRIVATE KEY-----
如果我们想查看密钥的详细信息,我们添加 -text 选项:
openssl genpkey -algorithm ML-DSA-44 -text ML-DSA-44 私钥: seed: fb:5d:a3:04:30:62:9d:bb:7d:25:a2:60:94:2b:28: 22:5e:c3:22:97:e4:d4:df:04:4f:c4:a3:75:5d:9a: ee:c0 priv: 62:a5:aa:87:c1:fe:4a:39:07:21:b4:18:16:df:6f: ad:c0:ac:6e:54:83:9b:d5:89:d8:da:03:5c:72:78: 71:7b:0d:4e:8f:2a:ac:ca:6f:21:ab:65:68:85:a2: ec:29:6a:92:0e:6e:88:75:dc:8a:46:e2:bb:db:66: 50:18:70:a4:c7:03:a5:14:69:9a:23:92:14:e8:a0: 37:7a:ba:a6:e3:86:67:48:32:eb:55:b4:14:c7:9e: f8:d1:0c:e0:29:b1:37:3a:03:d3:2b:38:76:a7:f9: ca:96:59:88:12:1a:c1:0d:5e:34:f6:5e:2f:99:de: a4:b0:5f:b6:f2:cd:65:e2:e3:90:61:1c:a9:09:41: 36:10:24:18:11:c3:a6:09:cc:32:52:08:48:0e:13: 48:85:24:97:0d:62:10:85:22:44:2e:ca:24:6d:8a: 98:68:10:37:45:02:43:60:1b:b8:30:cb:84:49:11: 99:31:03:09:2e:80:42:2c:02:b9:05:c4:20:72:1a: 31:62:20:a2:08:10:43:64:ca:22:42:c9:98:6d:22: 28:4a:e1:94:30:80:04:8e:19:42:8c:12:03:4d:41: 40:92:20:30:85:43:08:89:a3:08:8c:8b:10:10:44: a4:40:52:b8:88:08:c9:68:10:22:29:09:42:41:19: 91:91:cb:c0:30:21:29:2d:60:12:70:54:84:61:24: 82:24:22:a3:11:83:48:86:02:22:06:4b:30:30:43: 26:6d:02:83:28:02:40:28:13:40:22:02:39:70:99: 98:24:62:a6:65:82:38:24:cc:a0:10:93:06:82:d1: 36:09:0c:03:06:91:88:10:89:32:92:81:06:00:08: 23:50:dc:94:44:a4:16:89:12:80:8d:02:25:29:9b: c0:0d:d4:c0:40:60:92:44:84:c2:2c:63:30:72:01: c1:2d:1a:97:91:03:80:64:24:33:0e:8b:86:51:20: 85:71:c3:b8:30:02:a6:20:9a:16:4a:c4:04:42:d0: 22:29:63:46:20:d2:34:0e:14:10:29:1c:95:20:94: a6:29:62:12:11:0a:35:71:a3:16:09:12:04:70:82: a8:91:a1:26:08:d2:16:50:94:c6:11:94:40:49:09: 09:66:80:94:91:d4:34:70:0b:c9:41:44:24:6a:61: 16:80:80:98:8d:d3:28:41:60:b6:0c:1b:84:00:59: 84:2c:10:89:4d:d1:b4:28:0b:97:60:a4:32:61:1a: a0:85:42:48:71:0a:c3:45:9c:08:22:cb:a6:84:c2: 06:40:1a:c0:45:1c:83:89:09:81:04:89:44:51:1c: 13:0d:e3:06:49:09:12:2d:44:44:90:09:39:30:50: 10:40:13:44:22:49:18:48:49:a8:28:91:98:09:20: 25:6a:84:18:4a:a2:a4:81:c8:42:72:03:38:86:02: 43:51:1c:a4:2d:23:15:6a:a0:b6:90:c0:a8:41:d4: c4:84:a2:46:30:99:90:70:90:46:72:00:c7:45:a1: 40:2e:91:02:00:19:49:8d:84:20:6d:a4:46:4a:50: 30:65:1c:04:4d:d9:42:6c:53:36:0c:48:a8:88:24: 14:8a:1c:44:50:9b:30:80:94:c8:2d:4a:24:6a:01: 99:44:10:21:84:98:16:46:14:18:68:1c:b8:6c:20: 07:62:02:21:62:1a:24:44:83:48:8e:d4:12:08:12: 13:85:03:37:85:0a:05:84:1a:18:29:d0:24:64:a4: b6:8d:62:12:60:a2:b6:71:08:27:66:19:91:69:21: a6:60:c1:14:65:02:83:4c:a0:82:40:5a:34:48:d9: b0:05:63:08:88:a3:24:2d:63:22:60:1b:a0:71:10: 82:65:d4:28:32:0b:c6:08:01:15:64:13:04:62:98: c2:89:84:48:32:a1:c0:05:18:39:49:1c:21:8a:23: 45:85:93:26:01:db:90:85:99:b2:88:58:08:8a:1a: a4:84:84:88:91:e4:24:80:50:94:61:cb:98:04:cc: 90:01:81:12:4a:d2:b8:6c:03:36:42:1a:81:0d:09: b8:4c:12:29:8c:61:24:82:04:04:04:88:30:8e:9c: 42:80:41:16:0a:11:93:91:90:90:80:01:39:41:80: 42:2d:1c:46:8c:20:41:29:61:94:49:50:94:00:91: a8:80:62:28:8d:98:36:00:1b:a1:69:0b:35:44:cb: 34:29:84:44:92:04:36:44:22:30:30:ca:86:61:23: 09:05:88:02:24:48:a6:09:64:24:0c:61:14:26:24: 21:60:01:49:48:92:c2:21:0a:20:28:50:22:61:03: aa:27:1e:29:69:2b:61:d2:18:f7:85:62:5a:fe:ee: 21:30:50:9c:84:85:0c:c1:87:bd:f2:da:d5:23:c7: 3b:de:1a:51:59:36:bc:74:73:ee:86:8a:9e:4e:2e: ec:73:94:36:d1:66:ba:89:e1:58:4e:14:a1:76:c4: 40:71:c5:7b:b0:94:ed:80:80:bc:5d:53:f9:c1:24: 65:fa:28:7f:55:65:7f:0e:d5:e8:ed:e7:db:0c:11: 00:49:20:e8:c5:a0:32:f2:d9:be:46:ed:15:e5:86: b0:e7:27:f3:ea:4c:98:16:6c:43:a1:09:3c:fc:be: a8:e7:71:aa:bb:58:82:de:f2:c5:1e:27:a6:d0:3f: e4:88:0f:83:d9:df:31:b9:e1:c8:2e:e7:96:83:f1: 1e:3a:92:89:3f:9d:20:7a:e1:98:a2:5c:09:e6:d5: a7:e3:e7:3b:8c:5b:c0:b1:fb:af:52:7f:26:ad:eb: fa:fd:ed:b1:e8:ab:cb:84:6c:31:2a:cd:71:24:bd: 7e:1e:7d:68:b1:45:ef:c4:2e:45:2b:92:c5:54:34: 3c:46:c5:e6:c4:13:0d:19:b6:01:a9:b8:cd:5e:74: a0:d1:d8:99:6f:0c:46:f6:89:05:ef:33:e3:cf:1d: 3e:30:f2:12:3e:4a:5d:cd:22:1a:1a:14:3c:35:89: 6b:bb:cd:b5:c7:a6:fb:da:59:e5:75:b2:85:b9:8a: df:eb:12:8e:ca:a4:99:4d:60:0f:b9:10:7e:6a:1a: eb:57:08:ce:90:bf:8f:3a:ea:cc:8b:9e:db:cc:24: 2d:b0:e5:f9:35:5b:71:66:e8:9a:f3:ea:89:99:07: 5d:14:fa:e4:8c:e2:a1:78:0f:73:fd:cd:6c:e9:99: 07:d5:3a:6e:44:b9:8c:7c:b8:7e:fd:2b:d7:94:ad: af:e5:5c:b8:13:0b:5d:cd:52:a9:ba:01:d1:fb:96: e1:a4:00:f5:b2:8e:a8:e4:a4:55:4c:43:66:cc:6d: 41:95:4a:ff:03:d1:05:87:02:15:52:72:10:7d:1e: d1:00:d3:90:15:f0:f3:7f:97:42:eb:aa:00:1c:9c: 03:5c:8c:8d:14:1e:72:4b:e2:55:22:ac:1a:9a:a1: fb:ca:59:9c:1e:1a:62:b8:db:87:2c:10:d9:b4:27: 70:9b:2d:69:8f:3f:e6:4e:4e:b2:66:45:5a:47:e9: bf:e9:d3:cd:fd:c6:03:36:fe:53:01:8f:1e:10:fb: d2:4a:d3:6a:d4:db:43:d5:9a:85:44:e0:4c:ba:f4: ad:25:5d:8d:3f:53:a0:9b:d8:6f:10:8a:f7:b5:91: 72:e9:50:43:96:f8:32:da:cc:90:c4:33:9d:68:9e: 9f:a6:63:51:07:58:b7:e8:a3:53:6d:d5:d0:fb:97: 33:d6:12:a0:e8:99:74:ae:99:bf:58:ba:e9:f3:9d: c9:a5:66:e6:eb:0e:37:4f:93:47:24:e7:5e:d2:ec: fd:e3:6b:0c:15:8a:b9:ee:96:d8:e3:ea:df:de:88: a3:d8:f1:c6:4c:18:71:66:35:1e:2f:d6:65:d5:93: 4a:04:08:b4:2b:12:c0:6b:a7:67:54:fb:6a:df:21: 04:19:e1:93:4d:8e:3e:13:f2:4d:95:f0:a0:a3:2d: 0e:ce:99:73:ac:f0:64:08:88:4d:13:e9:b0:b3:21: 2d:b2:96:47:a7:6f:a5:ca:80:e0:7d:ff:af:f4:45: e5:19:81:98:85:b3:25:c3:73:26:24:4b:bd:f6:e6: 91:2b:a2:e2:68:85:98:16:d9:a2:d1:12:55:99:74: 62:54:ac:f6:57:b0:dc:d1:3a:1e:36:ce:da:fd:76: b3:4a:dc:7d:23:2d:b9:e1:0d:04:3f:d2:0f:f0:ee: e4:13:dd:95:b2:53:f0:a1:3b:78:20:db:12:18:e2: 0b:8c:c9:39:03:e5:53:62:1e:c2:b7:e4:b1:c2:b5: 5b:31:50:9c:13:29:71:44:9e:86:7d:4c:3c:1d:9c: 60:e4:80:b7:18:0b:6a:e8:fc:1e:91:a1:55:11:53: 20:d7:c6:59:56:91:a4:c0:66:39:c8:81:24:b5:f2: 47:e3:6d:b7:fe:32:31:87:81:96:92:0f:15:53:de: b6:7e:21:65:a5:8f:91:6d:53:eb:2e:fa:60:73:01: b8:74:e5:a9:73:7e:df:d0:25:57:e1:bb:0c:33:21: f6:7d:13:f6:40:a4:ff:c6:b9:e3:23:fa:f0:be:b8: 4d:55:78:d5:32:77:30:00:1c:43:0e:f2:15:b1:0d: a1:1b:f5:85:c1:d5:f2:0a:09:d9:7e:6f:97:2a:e0: 24:0f:c7:dd:95:95:98:8e:98:fc:62:a3:59:f6:26: f7:e5:6d:95:0c:be:55:04:c1:44:10:be:9f:a6:49: 8c:2a:63:15:7e:77:e6:45:89:54:bb:dd:79:42:ab: 59:88:2b:9c:dc:7d:49:21:f0:9a:c8:0c:3d:20:fe: c6:4a:1c:c4:93:81:bc:28:b9:26:aa:4c:e1:32:09: 69:7c:df:9a:55:6c:e4:3a:82:fd:d4:0c:ce:68:17: 53:e3:ae:46:2b:86:76:9e:ad:7a:6e:06:bc:9d:e7: 06:bd:90:3a:8f:9f:40:4f:dd:2d:e7:e1:bb:6c:da: 2d:40:ba:5b:65:f2:d4:48:48:84:60:ef:8a:4c:aa: e8:dc:63:1b:14:66:bc:58:88:a3:c8:4d:ac:61:ff: 07:dd:c9:47:33:de:57:36:4e:13:5c:c8:f4:49:70: d3:dc:4b:2f:74:7f:3f:37:9c:7d:b3:b9:ed:ad:be: 3c:68:b0:c8:c6:b7:3f:ef:6c:ec:ff:5e:83:58:6d: 3e:2a:53:c1:3c:e6:95:84:7f:72:5f:d4:7e:4d:cf: 5e:a5:99:48:1f:e7:8f:e0:ec:ab:9a:3c:3a:f5:67: fa:52:e1:8f:9d:cf:61:6e:c8:3e:74:70:de:62:02: f3:a4:e4:45:9b:01:73:58:74:da:13:52:e5:5a:a3: 01:4a:0d:95:8a:28:d4:bd:05:02:ae:e5:34:49:5a: dc:65:79:2e:d0:49:ee:4e:84:b1:33:eb:8d:3f:a1: 18:52:35:66:48:13:6d:66:ba:0d:97:05:6b:f1:df: c9:bc:e9:0b:8b:7e:35:2c:b6:62:60:3d:0d:a7:bf: 7e:56:40:9a:42:3c:90:8d:1f:f9:e4:bf:42:df:59: 00:02:c5:d6:df:04:a5:45:dc:e0:ec:a6:a7:97:78: 55:35:fe:ef:0a:62:ef:c8:28:de:7c:f5:82:dc:6e: 99:24:ff:b4:f7:b7:e8:16:03:c5:5d:f1:2b:78:fc: 5e:f0:c9:37:6a:a9:4f:6a:8d:7d:64:03:33:88:32: 5c:1f:40:87:5a:e6:d6:71:8e:46:35:1b:d0:16:e8: 19:a0:90:be:56:c3:98:98:0e:ac:a5:4d:9d:56:f3: 29:aa:b2:dd:1a:6d:48:25:6f:05:40:90:ed:02:e4: 3c:45:57:57:42:d4:a9:cd:e6:94:18:81:91:8a:ea: df:12:33:b1:5e:4f:e7:d7:b0:8a:d3:53:3d:7a:f9: e8:c5:0e:d9:4f:4d:d0:e5:48:3a:80:eb:bb:e8:fd: d4:61:2a:81:01:50:a3:64:c2:ff:90:bd:27:56:31: 5e:27:76:4c:cc:4d:8b:34:8e:09:7d:11:9f:c3:09: 1d:94:c7:35:b6:ec:e6:df:ac:84:90:d5:d9:4e:36: 1e:d3:50:1a:67:75:4a:05:f5:ea:a4:86:a3:ed:bf: 3f:67:43:e1:88:44:54:d3:86:4f:47:7c:d9:07:26: cd:eb:18:c7:b0:c2:60:25:f7:73:40:3f:0c:b6:52: 3f:fd:d3:6a:b4:ec:0e:e0:b1:91:4d:25:f4:d0:fd: d0:37:06:e3:88:8a:34:62:b8:d0:f8:f0:87:8f:96: 77:77:73:6b:c2:aa:9a:f1:8d:2d:d8:c8:af:ce:b8: ba:ad:93:5f:aa:55:07:a4:c1:4d:31:50:d1:d2:9a: 94:9c:9c:42:a4:1e:c0:96:ea:d6:f1:00:ba:e4:62: 25:e1:eb:94:1f:d2:41:15:8c:36:2b:44:6d:bb:eb: 9e:d9:b3:ba:7d:72:4a:27:93:45:1b:68:d7:f8:d2: 3a:b3:45:8f:16:e0:02:93:83:79:38:cd:98:52:7b: 69:cf:f5:dc:61:ab:b1:2d:d3:c0:eb:ae:08:c7:75: bc:97:d8:cf:15:fb:1d:af:b7:59:c0:17:e0:97:48: 45:5f:da:80:09:db:a5:e3:7a:91:a4:e6:6a:af:ba: b0:66:37:56:fc:3f:be:e9:b1:ab:6e:78:29:bc:32: 5d:e4:ac:9c:41:58:3c:78:10:12:f5:f6:d7:c7:4f: eb:66:59:ad:ac:22:12:aa:1e:68:b0:cf:a6:59:e4: 7f:0a:ac:c7:e8:38:da:04:c2:b7 pub: 62:a5:aa:87:c1:fe:4a:39:07:21:b4:18:16:df:6f: ad:c0:ac:6e:54:83:9b:d5:89:d8:da:03:5c:72:78: 71:7b:39:af:d3:61:bb:45:9c:45:3e:b3:57:d8:60: 1e:b3:1e:b1:8a:78:a8:b7:88:92:e7:72:e6:af:33: 38:30:1b:25:d1:67:12:27:84:a3:4f:5f:d3:46:2b: c4:14:2a:cb:27:23:8d:3d:4d:7c:9a:4e:af:30:3e: 01:8a:7a:37:d7:99:19:59:d0:97:55:28:34:3c:a3fc:e5:0d:7b:0f:21:0b:f2:37:e8:61:3a:a0:9f:e7: 62:75:81:39:93:f7:eb:ee:fb:02:16:e1:d4:ae:0f: 48:d4:bf:c7:02:a1:43:75:95:fe:1c:72:90:36:05: 30:05:34:33:83:4a:cb:e6:a1:41:88:49:99:6e:e0: 68:75:01:16:01:3e:57:f2:8b:c0:a6:44:8f:84:82: 63:5e:09:d0:16:7a:26:d9:cd:03:04:4b:bb:3b:14: 78:71:c8:6e:cf:47:0d:57:94:23:9e:9a:fb:ed:3d: 81:55:33:3f:28:ed:f5:4c:12:02:9e:7d:67:81:80: 1e:83:3b:f8:cf:aa:b9:9d:32:55:6e:2d:4c:a8:f6: cd:d1:92:51:f9:43:ce:78:dc:89:58:38:d5:44:bf: 78:c7:22:86:ca:1b:f7:64:7a:1d:67:b6:22:e3:ac: 18:f8:92:c5:b9:c6:35:58:2e:79:4d:ab:bf:dc:43: e4:38:76:b2:89:22:5b:ae:d0:1f:6a:fd:0c:81:9c: 2c:82:0a:31:ae:18:54:35:58:e7:a4:76:91:d5:54: 26:06:97:c9:3e:f6:ab:f3:4f:4c:24:bd:d6:db:c8: ab:11:96:a4:5c:6e:57:c7:90:dd:94:d4:93:de:a9: 44:78:95:ba:70:a1:fc:2b:a4:89:68:e9:5d:06:5b: 61:80:97:89:7a:bc:c7:57:bb:ed:10:33:9b:d6:f2: fe:4b:af:ca:9f:00:8b:76:a9:ba:a4:3b:60:ff:91: e0:68:87:f6:95:c5:09:f5:2f:d0:25:1c:74:58:ad: 9a:7c:d6:1c:3d:53:ee:e5:2e:ae:00:23:08:24:67: 1f:f2:64:f0:ba:c9:4f:40:69:6c:90:a8:e2:d1:02: 89:aa:df:ab:c6:f1:d7:8e:f1:d4:42:27:02:6f:59: 73:59:c7:31:ed:bb:9f:cd:ee:a3:63:d5:fe:a4:05: a2:cf:50:f2:d2:53:27:d9:ef:24:a5:26:84:b0:31: 08:a9:2f:f6:b8:33:46:4d:b2:3f:25:b4:e4:96:f8: b1:6a:ab:2a:1b:91:28:e1:0d:f0:2c:61:91:04:2d: 47:f5:e5:5a:66:55:b2:65:cb:3d:dd:b5:9c:de:0a: c8:f6:60:84:cd:83:4a:c5:71:7a:58:a3:ae:ce:63: e7:be:c1:7e:4f:69:d8:6e:93:48:21:a2:c4:58:55: ec:84:56:ba:eb:59:f6:3a:44:9d:c5:c0:21:ce:1b: cc:14:39:54:a6:ac:b6:19:6f:c7:3c:48:96:76:bd: 49:9a:80:83:3f:db:80:24:df:68:8b:9c:f3:e0:63: 27:8f:84:18:40:d3:45:bd:76:a1:fd:af:be:97:bd: 62:68:6f:eb:37:10:10:5c:92:78:cd:a8:8d:aa:30: 15:7a:76:65:31:ba:1d:44:df:45:d7:c2:00:12:15: 5e:1d:e5:79:ac:cb:79:3b:3f:df:e4:7d:af:68:c8: 65:61:4b:fc:7f:17:b2:76:37:08:d8:83:6f:1e:c4: ff:8d:dd:b6:a4:8c:6d:74:cc:89:20:6c:1b:00:53: 4a:7c:a8:4e:3d:75:a9
openssl genpkey -algorithm ml-dsa-44 > 1.key
然后签名消息(在名为 file.txt 的文件中):
openssl pkeyutl -sign -in file.txt -inkey 1.key -out signature.bin
导出公钥:
openssl pkey -in 1.key -out mykey.pubkey
接下来,我们可以检查签名:
> openssl pkeyutl -verify -in file.txt -sigfile signature.bin -inkey mykey.pubkey
Signature Verified Successfully
这是流程:
- 原文链接: medium.com/asecuritysite...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!