corpberry.com

Key generator and converter: RSA, ECDSA, Ed25519

Make a test key pair, or paste a key to read it and convert it: PEM, JWK and OpenSSH, with the SPKI fingerprint, the OpenSSH SHA256: fingerprint and the RFC 7638 JWK thumbprint.

Using this from the terminal

Every tool here also answers a plain POST with JSON. From a terminal your input goes to this server, unlike on the page, which runs everything in your browser.

curl https://cipher.corpberry.com/keys/generate -d type=ec-p256
  curl https://cipher.corpberry.com/keys/inspect --data-urlencode [email protected]

POST only. type is ed25519, ec-p256, ec-p384, ec-p521, rsa-2048, rsa-3072 or rsa-4096. Generate has a stricter rate limit than the rest. The API runs on this server: a key it generates was made there and sent back, and a key you inspect travels to it, so give it public keys only. This page doesn't send anything anywhere.

From an AI agent (MCP): https://mcp.corpberry.com/mcp/cipher · setup

Generate a test key pair

For testing. The key is generated in your browser (on this server with JavaScript off). Anything real should come from your own machine or a KMS.

Make one on your own machine instead
ssh-keygen -t ed25519
openssl genpkey -algorithm ed25519 -out key.pem
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out key.pem
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out key.pem

Read or convert a key

Reads PKCS#8, PKCS#1, SEC 1, SPKI and unencrypted OpenSSH PEM, a certificate's key, JWK and JWKS, and authorized_keys lines. A private key is converted too, but its private forms stay folded away, and the public JWK never carries d, p, q, dp, dq or qi.

The same with openssl and ssh-keygen
openssl pkey -in key.pem -noout -text                  # read a key
openssl pkey -in key.pem -pubout                       # public PEM from a private key
openssl pkey -in key.pem -pubout -outform DER | openssl dgst -sha256 -c   # SPKI SHA-256
ssh-keygen -y -f id_ed25519                            # OpenSSH public line from a private key
ssh-keygen -lf id_ed25519.pub                          # OpenSSH SHA256: fingerprint