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....