不喜欢广告? 无广告 今天

ECDSA/Ed25519密钥生成器

开发人员安全
广告 移除?

密钥配置

PEM是通用的。JWK用于JWT库。原始十六进制格式用于底层加密。
广告 移除?

指导

ECDSA / Ed25519密钥生成器

ECDSA/Ed25519密钥生成器

使用Web Crypto API在浏览器中生成安全的椭圆曲线密钥对。选择Ed25519、ECDSA P-256或ECDSA P-384,并导出为PEM(PKCS8/SPKI)、JWK或原始十六进制格式。适用于JWT签名(ES256、EdDSA)、Signal风格协议、libsodium互操作性,以及任何非OpenSSH风格的通用椭圆曲线加密。

如何使用

  1. 选择算法: Ed25519 用于现代签名方案 ECDSA P-256 用于ES256 JWT ECDSA P-384 用于ES384 JWT
  2. 选择输出格式: PEM 用于OpenSSL/Node/Python JWK 用于jose / jsonwebtoken库 原始十六进制 用于底层使用
  3. 点击 生成密钥对两个密钥会立即显示。
  4. 复制或下载每个密钥。JWK指印(RFC 7638)将显示,用于JWT中使用 kid 标头中来实现。

特征

  • 100% 客户端 ——密钥由 window.crypto.subtle.generateKey();没有上传任何内容。
  • 三种曲线 ——Ed25519(EdDSA)、ECDSA P-256(ES256)、ECDSA P-384(ES384)
  • 三种输出格式 ——PEM(PKCS8私钥、SPKI公钥)、JWK和原始十六进制
  • JWK指印 ——根据RFC 7638自动计算的SHA-256指印,适用于 kid 声明。
  • 一键复制和下载 ——文件按算法命名,并带有正确的扩展名。
  • 无数据收集 ——无分析、无日志、无密钥托管。

常问问题

  1. Ed25519和ECDSA有什么区别?

    Ed25519是基于扭曲埃德华兹曲线Curve25519的EdDSA方案。它使用确定性签名,密钥大小固定(32字节),速度更快且更难误用,比ECDSA更安全。ECDSA基于NIST曲线(如P-256/P-384)早于Ed25519,每个签名都需要一个安全的随机数(重复使用随机数会泄露私钥),并且是许多旧标准(如TLS、JWT ES256/ES384、证书)所要求的格式。

  2. PKCS8和SPKI有什么区别?

    PKCS8(PrivateKeyInfo)是私钥的标准ASN.1/DER容器,标识算法并封装密钥材料。SPKI(SubjectPublicKeyInfo)是公钥的对应容器,用于X.509证书中。PEM编码的PKCS8以 -----BEGIN PRIVATE KEY----- 开头,SPKI以 -----BEGIN PUBLIC KEY-----.

  3. 什么是JWK指印,何时使用?

    RFC 7638将JWK指印定义为一个经过规范化处理的JSON Web Key的SHA-256哈希值的base64url编码。它是一个稳定、基于密钥的标识符,可以放入JWT中 kid 头部,以便验证者可以在JWKS中找到正确的公钥,而无需泄露密钥材料。交换相同密钥的双方将计算出相同的指印。

  4. 为什么使用Web Crypto API而不是JavaScript库?

    window.crypto.subtle 调用浏览器原生、经过审计的加密原语,这些原语依赖于操作系统的CSPRNG。纯JavaScript库依赖于JavaScript引擎的 Math.random 或填充的随机数,更容易通过供应链攻击被后门入侵,且运行速度较慢,因为无法使用CPU的AES-NI/SHA扩展指令。

  5. 这些密钥在生产环境中是否安全?

    随机性与浏览器的CSPRNG一样强,在现代操作系统上适合用于生产密钥。风险在于运行环境:被入侵的设备、恶意浏览器扩展或钓鱼页面加载其自身版本的页面可能会窃取密钥。对于高价值密钥,应离线生成(openssl genpkey,硬件令牌,HSM)或在隔离环境中生成。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?