CH-J Tools通过 SSH 管理服务器
菜单
所有 SSH 密钥示例 →

示例 07 · ECDSA NIST P-384

基于 NIST 曲线的 ECDSA 密钥:密钥短、签名快,常见于要求使用 NIST 曲线的场景,例如硬件令牌和 FIPS 策略环境。

密钥概览

密钥类型ECDSA NIST P-384
SSH 算法名称ecdsa-sha2-nistp384
支持情况OpenSSH 5.7 及以上版本、PuTTY 0.68 及以上版本
私钥格式OpenSSH (openssh-key-v1), unencrypted
指纹SHA256:hYwdECb28DMD8ZsUYHqXkOjKOFEOt8B7trFtHW5Pe30

公钥

authorized_keys 格式的公钥。将其添加到 allowed_signers 文件中,即可验证下方的签名。

下载 → 224 字节

ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBF1i9hsj4PrMnZyV0+PgCuIu4PhrgQo5DDxIydYfwmHXAytyr98sAEw7LZhoCPumhr0AInj+4ZdJewLrXfZUM+rs4J/lTCvHYMf3WNEsaPhRUugjpwPhEo5BIhVKxaLw+w== ch-j-ssh-example-07

私钥

未加密的私钥。仅为测试而公开,任何人都可以使用。

下载 → 622 字节

显示
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAiAAAABNlY2RzYS
1zaGEyLW5pc3RwMzg0AAAACG5pc3RwMzg0AAAAYQRdYvYbI+D6zJ2cldPj4AriLuD4a4EK
OQw8SMnWH8Jh1wMrcq/fLABMOy2YaAj7poa9ACJ4/uGXSXsC6132VDPq7OCf5Uwrx2DH91
jRLGj4UVLoI6cD4RKOQSIVSsWi8PsAAADgIekwHCHpMBwAAAATZWNkc2Etc2hhMi1uaXN0
cDM4NAAAAAhuaXN0cDM4NAAAAGEEXWL2GyPg+sydnJXT4+AK4i7g+GuBCjkMPEjJ1h/CYd
cDK3Kv3ywATDstmGgI+6aGvQAieP7hl0l7Autd9lQz6uzgn+VMK8dgx/dY0Sxo+FFS6COn
A+ESjkEiFUrFovD7AAAAMEzS/LJsjD3nxJAUuZjk4u9ljsBxrz7vbJqXq5KhoAlhLSCXRn
hKBc97MSekUUziNwAAABNjaC1qLXNzaC1leGFtcGxlLTA3AQIDBAU=
-----END OPENSSH PRIVATE KEY-----

test_1MB.bin 的签名

在 CH-J Tools 中使用此密钥生成的 test_1MB.bin 分离式 SSH 签名(SSHSIG,命名空间为 "file")。请将其保存为 test_1MB.bin.sig,与测试文件放在同一目录中。

下载 → 476 字节

-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAIgAAAATZWNkc2Etc2hhMi1uaXN0cDM4NAAAAAhuaXN0cDM4NAAAAG
EEXWL2GyPg+sydnJXT4+AK4i7g+GuBCjkMPEjJ1h/CYdcDK3Kv3ywATDstmGgI+6aGvQAi
eP7hl0l7Autd9lQz6uzgn+VMK8dgx/dY0Sxo+FFS6COnA+ESjkEiFUrFovD7AAAABGZpbG
UAAAAAAAAABnNoYTUxMgAAAIMAAAATZWNkc2Etc2hhMi1uaXN0cDM4NAAAAGgAAAAwC/fD
9v6o9qtaFZT2k5K0nuZqE5OgIIecTBXB0AvT4BfCDrmzvkItLLewzUa9IsW8AAAAMEVfLB
KaS6XqmdCqSlz2pXzDbhyfhH+hrHHw+1TiYLd6wc4UlQMa91QtOg0MqJ5zbA==
-----END SSH SIGNATURE-----

吊销

SSH 密钥没有吊销证书。要撤销密钥,请将其从 authorized_keys 中移除,或将其列入 OpenSSH 密钥吊销列表(KRL,使用 ssh-keygen -k 创建),让服务器通过 RevokedKeys 配置读取该列表。

验证签名

将公钥和签名保存到 test_1MB.bin 所在的目录中,创建 allowed_signers 文件,然后运行 ssh-keygen:

echo "example@ch-j $(cat id_ecdsa.pub)" > allowed_signers
ssh-keygen -Y verify -f allowed_signers -I example@ch-j -n file -s test_1MB.bin.sig < test_1MB.bin