CH-J Toolsserver management over SSH
Menu
All SSH key examples →

Example 06 · ECDSA NIST P-256

ECDSA key on a NIST curve: short keys and fast signatures, common where NIST curves are required, for example with hardware tokens and FIPS policies.

Key overview

Key typeECDSA NIST P-256
SSH algorithm nameecdsa-sha2-nistp256
SupportOpenSSH 5.7 and newer, PuTTY 0.68 and newer
Private key formatOpenSSH (openssh-key-v1), unencrypted
FingerprintSHA256:c3RQHg8rtGbll5HRD5n/fzzG/emQj8j3ocJkFg9cBFk

Public key

The public key in authorized_keys format. Add it to an allowed_signers file to verify the signature below.

Download → 180 bytes

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOlQV3oGdfXKp/cAyqSqQxWkYg9x7efwdUisL7TEO8Ah+j4CBlLcmlE+RXvsFVd5sh24Vv7vcTr+ISaOPDT09r8= ch-j-ssh-example-06

Private key

The unencrypted private key. Published for testing only: anyone can use it.

Download → 513 bytes

Show
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTpUFd6BnX1yqf3AMqkqkMVpGIPce3n
8HVIrC+0xDvAIfo+AgZS3JpRPkV77BVXebIduFb+73E6/iEmjjw09Pa/AAAAsEqcg+VKnI
PlAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOlQV3oGdfXKp/cA
yqSqQxWkYg9x7efwdUisL7TEO8Ah+j4CBlLcmlE+RXvsFVd5sh24Vv7vcTr+ISaOPDT09r
8AAAAgK4CeRQxgg9rr2N610xFdqWJOR4KzmMW76T/Iy7ySrkcAAAATY2gtai1zc2gtZXhh
bXBsZS0wNgECAwQF
-----END OPENSSH PRIVATE KEY-----

Signature of test_1MB.bin

Detached SSH signature (SSHSIG, namespace "file") of test_1MB.bin made with this key in CH-J Tools. Save it as test_1MB.bin.sig next to the test file.

Download → 391 bytes

-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAE
EE6VBXegZ19cqn9wDKpKpDFaRiD3Ht5/B1SKwvtMQ7wCH6PgIGUtyaUT5Fe+wVV3myHbhW
/u9xOv4hJo48NPT2vwAAAARmaWxlAAAAAAAAAAZzaGE1MTIAAABkAAAAE2VjZHNhLXNoYT
ItbmlzdHAyNTYAAABJAAAAIDSrYzxQVo7NKyWVeSPcPOP97L8WvbgcUX4lAVGDh0bIAAAA
IQDNabPy19rgKbqDcIHvN4t8QZHD2KHmmoOanVicZQZz5Q==
-----END SSH SIGNATURE-----

Revocation

SSH keys have no revocation certificate. To withdraw a key, remove it from authorized_keys, or list it in an OpenSSH key revocation list (KRL, created with ssh-keygen -k) that the server reads through RevokedKeys.

Verify the signature

Save the public key and the signature next to test_1MB.bin, create an allowed_signers file and run 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