匹配所需的 PEM 标头
在 BEGIN PRIVATE KEY 与 RSA PRIVATE KEY 或 EC PRIVATE KEY 之间互相转换。
在 PKCS#1 和 PKCS#8 之间转换私钥或公钥。把 PEM 重写成另一台服务器、负载均衡器或云 API 所需的结构。识别和转换都在浏览器中完成。
识别到的 PEM 标头会填入密钥类型和当前格式。请选择目标格式。如果无法识别当前格式,会把它视为另一种格式。转换在此标签页中进行,清除或关闭页面后密钥会被丢弃。
接受未加密的 .key、.pem 或 .pub 文件。
识别到的 PEM 标头会填入密钥类型。请选择目标格式。
转换后的密钥将显示在这里
粘贴一个 PEM 密钥并选择目标格式。已经是该格式的密钥会原样返回。
密钥编码
云 API、Web 服务器或较旧的工具可能只接受一种 PEM 标头。转换编码后,你可以直接安装已有的密钥,而不必生成新的密钥对并重新签发证书。
在 BEGIN PRIVATE KEY 与 RSA PRIVATE KEY 或 EC PRIVATE KEY 之间互相转换。
在 BEGIN PUBLIC KEY 和 BEGIN RSA PUBLIC KEY 之间转换 RSA 公钥。
解析和重写都在当前浏览器标签页中完成。密钥不会被上传。
PKCS#1 与 PKCS#8
使用完整的 PEM,包括 BEGIN 和 END 行。识别到标头后会填入密钥类型和当前格式。请自行选择目标格式。
粘贴 PEM,或上传未加密的 .key、.pem 或 .pub 文件。
选择 PKCS#1 或 PKCS#8。如果密钥已经是该格式,结果仍是同一份 PEM。
输出只保留在此标签页中。请用与原始密钥相同的访问控制来保存它。
PEM 标头
BEGIN PRIVATE KEY
BEGIN PUBLIC KEY
私钥使用 PrivateKeyInfo。公钥使用 SubjectPublicKeyInfo,此转换器把它视为 PKCS#8 公钥形式。
BEGIN RSA PRIVATE KEY
BEGIN EC PRIVATE KEY
BEGIN RSA PUBLIC KEY
EC PRIVATE KEY 是 SEC1 编码。本页写出的唯一 PKCS#1 公钥是 RSA PUBLIC KEY。
格式检测
它会先读取 PEM 标签。识别到一个标头后,会填入密钥类型和当前格式。由你选择结果应为 PKCS#1 还是 PKCS#8。
缺少标签、标头被截断,或同一个输入框中有两把密钥时,无法确定当前格式。选择目标格式后,转换器会把密钥视为另一种格式。已经是目标格式的密钥会原样返回。
转换不会生成新的密钥对,不会解密口令,也不能证明证书与密钥匹配。
如果密钥已加密,或策略不允许使用浏览器工具,请在受信任的计算机上运行这些命令。
私钥 PKCS#1 转 PKCS#8
openssl pkcs8 -topk8 -nocrypt \
-in private-key.pem -out private-key-pkcs8.pemRSA 私钥 PKCS#8 转 PKCS#1
openssl rsa -in private-key.pem \
-out private-key-pkcs1.pemEC 私钥 PKCS#8 转 SEC1
openssl ec -in private-key.pem \
-out private-key-sec1.pemRSA 公钥 SPKI 转 PKCS#1
openssl rsa -pubin -in public-key.pem \
-RSAPublicKey_out -out public-key-pkcs1.pem粘贴或上传一份未加密的 PEM。私钥可以是 PKCS#8、RSA PKCS#1 或 EC SEC1。RSA 公钥可以是 SubjectPublicKeyInfo 或 RSAPublicKey。支持的 EC 曲线与证书已使用的命名曲线一致,包括 P-256、P-384 和 P-521。
加密的私钥、证书、CSR 和 PKCS#12 包不在本页范围内。请用 OpenSSL 处理这些容器,如果仍需要不同的 PEM 标头,再把提取出的密钥拿到这里转换。
如果文本没有 PEM 边界、边界被截断,或同时包含公钥和私钥,就无法识别当前格式。选择目标格式后,转换器会假定密钥使用另一种格式。标头无法识别密钥类型时,请自行设置。
手动选择错误时会失败,不会写出密钥。请检查原始标头,或先用 OpenSSL 移除口令后再试。
相关密钥工具
提交请求前,确认 CSR 和私钥属于同一密钥对。
Check CSR & key安装前把已签发的证书与私钥进行比对。
Check certificate & key如果需要新的密钥对而不是新的编码,请在本地创建新的 CSR 和私钥。
Generate CSRPKCS 转换常见问题
PKCS#8 是通用的私钥封装,写为 BEGIN PRIVATE KEY。这里的 PKCS#1 指特定算法的形式:BEGIN RSA PRIVATE KEY,或 SEC1 椭圆曲线密钥的 BEGIN EC PRIVATE KEY。公钥的通用形式是 SubjectPublicKeyInfo(BEGIN PUBLIC KEY)。本页把它视为 PKCS#8 公钥。PKCS#1 公钥是 BEGIN RSA PUBLIC KEY。
转换在浏览器本地进行。密钥不会发送到我们的服务器、不会被保存,也不会写入 URL。完成后请清空表单或关闭标签页。生产环境的密钥请遵循组织的密钥处理策略。
私钥可以是 RSA 或 ECDSA,包括证书使用的 P-256、P-384 和 P-521 曲线。公钥转换针对 RSA。椭圆曲线公钥已经使用 SubjectPublicKeyInfo,没有 PKCS#1 PEM 形式。
不会。本页不要求也不解密口令。BEGIN ENCRYPTED PRIVATE KEY,以及带有 Proc-Type: 4,ENCRYPTED 的 PEM 都会被拒绝。请使用本页的 OpenSSL 命令,或在受信任的计算机上创建临时的未加密副本,用完后立即删除。
标准 PEM 标头会填入密钥类型和当前格式。由你选择目标格式。如果标头缺失、被截断,或粘贴了不止一个密钥,请自行设置密钥类型。此时会把当前格式视为另一种 PKCS 格式。已经是目标格式的密钥会原样返回。
不会。PKCS#1 和 PKCS#8 是同一份密钥材料的两种编码。模数、指数和曲线参数保持不变,改变的只是 PEM 封装。