PKCS#1 与 PKCS#8 私钥格式详解

在管理 SSL/TLS 证书和私钥时,你可能会遇到两种不同的私钥格式:PKCS#1 和 PKCS#8。本文详细介绍这两种格式的区别、使用场景以及转换方法。 什么是 PKCS#1 PKCS#1 是 RSA 加密标准的第一个版本,定义了 RSA 密钥的数学结构。其 PEM 格式的私钥文件头部为: 1 -----BEGIN RSA PRIVATE KEY----- PKCS#1 只支持 RSA 密钥,格式相对简单,直接存储 RSA 算法的参数(n, e, d, p, q 等)。 什么是 PKCS#8 PKCS#8 是通用的私钥格式标准,支持多种算法(RSA、EC、Ed25519 等)。其 PEM 格式的私钥文件头部为: 1 -----BEGIN PRIVATE KEY----- PKCS#8 使用更通用的结构,可以封装任意类型的私钥,并且支持加密存储。 格式对比 特性 PKCS#1 PKCS#8 PEM 头部 -----BEGIN RSA PRIVATE KEY----- -----BEGIN PRIVATE KEY----- 支持算法 仅 RSA RSA、EC、Ed25519 等多种算法 兼容性 旧版系统和应用 现代系统和应用(OpenSSL 1.0+) 生成与转换命令 生成 PKCS#8 格式私钥(默认) 1 2 3 4 5 6 7 8 # 生成 RSA 私钥(PKCS#8 格式,默认) openssl genrsa -out key....

July 1, 2026 · 2 min · 黑豆子

ECDSA 数字签名算法详解

ECDSA(Elliptic Curve Digital Signature Algorithm)是基于椭圆曲线密码学的数字签名算法,广泛应用于比特币、区块链以及 TLS 证书中。本文介绍其原理及 OpenSSL 命令行操作。 什么是 ECDSA? ECDSA 是 DSA(Digital Signature Algorithm)的椭圆曲线版本,利用椭圆曲线离散对数问题的计算难度来保证签名安全性。相比传统 RSA,ECDSA 在相同安全强度下密钥更短,运算更快。 常见曲线 曲线 位数 应用场景 prime256v1 (P-256) 256 位 主流 TLS 证书、Web 应用 secp384r1 (P-384) 384 位 高安全场景、政府、金融 secp521r1 (P-521) 521 位 极高安全需求 生成 ECDSA 密钥对 生成私钥 1 2 3 openssl genpkey -algorithm EC \ -pkeyopt ec_paramgen_curve:prime256v1 \ -out ecdsa_private.pem 导出公钥 1 openssl pkey -in ecdsa_private.pem -pubout -out ecdsa_public.pem 查看密钥详情 1 openssl pkey -in ecdsa_private....

April 15, 2026 · 2 min · 黑豆子

非对称加密详解:公钥与私钥的关系

本文深入解析非对称加密的工作原理,以及公钥和私钥如何协同工作。

April 2, 2026 · 1 min · 黑豆子