# Public key fingerprint calculator

- Human page: https://happytails.ai/en/developer-tools/public-key-fingerprint-calculator/
- Markdown: https://happytails.ai/en/developer-tools/public-key-fingerprint-calculator.md
- Structured JSON: https://happytails.ai/agents/en/developer-tools/public-key-fingerprint-calculator/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `public-key-fingerprint-calculator` |
| Category | developer-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Runs in your browser. Accepts one PEM public key, certificate or certificate request, an OpenSSH public key line or a public JWK of up to 200000 characters.

### Inputs and settings

Text input: Public key or certificate.

Example or placeholder shown in the interface (not a validated fixture):

```text
-----BEGIN PUBLIC KEY-----
```

Paste PEM text, an ssh-ed25519 or ssh-rsa line, or a public JWK. Up to 200,000 characters. Review the settings before running.

No additional settings are declared for this tool.

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Input is exactly one key, certificate or certificate request of up to 200000 characters, with DER data up to 65536 bytes. Text with more than one PEM block, such as a full chain, is refused. Parsing and hashing run locally in your browser with Web Crypto. Download the JSON report with every fingerprint format.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "public-key-fingerprint-calculator",
  "category": "developer-tools",
  "built": true,
  "requirements": "Input is exactly one key, certificate or certificate request of up to 200000 characters, with DER data up to 65536 bytes. Text with more than one PEM block, such as a full chain, is refused. Parsing and hashing run locally in your browser with Web Crypto. Download the JSON report with every fingerprint format.",
  "implementation": {
    "fields": [],
    "registrationFamily": "crypto-formats-reference",
    "inputMaxLength": 200000,
    "inputErrorCode": "CRYPTO_FORMATS_REFERENCE_TOO_LONG",
    "note": "Runs in your browser. Accepts one PEM public key, certificate or certificate request, an OpenSSH public key line or a public JWK of up to 200000 characters.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 200000,
      "inputMode": "text",
      "label": "Public key or certificate",
      "placeholder": "-----BEGIN PUBLIC KEY-----",
      "help": "Paste PEM text, an ssh-ed25519 or ssh-rsa line, or a public JWK. Up to 200,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Calculate the standard fingerprints of a public key, certificate or OpenSSH key in your browser. Compare SPKI pins, OpenSSH SHA256 values, JWK thumbprints and certificate fingerprints in one report.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Public key fingerprint calculator

1. Paste a PEM public key, certificate or certificate request, an OpenSSH public key line or a public JWK.
2. Run the tool.
3. Compare the fingerprint in the format your other tool shows, then download the report.

## Useful next steps

- [RSA key generator](https://happytails.ai/en/developer-tools/rsa-key-generator/) ([Markdown](https://happytails.ai/en/developer-tools/rsa-key-generator.md))

- [File hash](https://happytails.ai/en/developer-tools/file-hash/) ([Markdown](https://happytails.ai/en/developer-tools/file-hash.md))

- [SSL checker](https://happytails.ai/en/web-tools/ssl-checker/) ([Markdown](https://happytails.ai/en/web-tools/ssl-checker.md))

## Fingerprint formats

SPKI SHA-256 in Base64 is the pin-sha256 value from RFC 7469 (April 2015). OpenSSH SHA256 is unpadded Base64 of the SHA-256 of the key blob, as printed by ssh-keygen -l. The JWK thumbprint follows RFC 7638 (September 2015). Certificate fingerprints hash the whole DER certificate, matching openssl x509 -fingerprint.

### Supported keys

RSA, EC P-256, P-384 and P-521, and Ed25519 keys are supported. Other keys still get SPKI fingerprints where the structure is valid. Key sizes match ssh-keygen -l and OpenSSL, so an Ed25519 key shows 256 bits. Legacy OpenSSH MD5 fingerprints are not offered.

### What it does not do

A fingerprint identifies a key; it does not prove who owns it. Certificates are decoded, not validated against any trust store, and nothing is fetched from the network.
