.p12证书简介

.p12文件是一种 PKCS#12 标准格式的文件,用于存储数字证书及其对应的私钥,并且通常用密码进行加密保护。简单来说,它像一个加密的容器,把以下几样东西打包在一起:

  • 自己的数字证书(包含公钥、身份信息、有效期等);
  • 对应的私钥(必须保密,证明你是证书持有者);
  • 可能还包括:中间证书、根证书(简化部署);

主要特点

  • 有密码保护:必须输入正确的密码才能“打开”或使用里面的私钥;
  • 跨平台通用:在 Windows(后缀常为 .pfx,与 .p12 完全等价)、macOS、iOS、Android、Linux 上都支持;
  • 常用场景:
    • iOS 开发/发布:Apple 开发者账号导出的证书(用于签名 App、推送通知等);
    • 客户端身份验证:如 SSL/TLS 双向认证中的客户端证书;
    • 代码签名:将证书和私钥一起备份、迁移或部署到服务器;

与其它证书格式的关系

格式 说明 能否包含私钥
.p12 / .pfx PKCS#12 二进制格式,通常有密码 ✅ 可以
.cer / .crt / .der 纯证书(公钥+身份信息) ❌ 不能
.pem 文本格式(Base64),可存放证书或私钥 可以(私钥单独存为 .key

验证密码是否正确

有时候我们需要验证密码是否正确,可以使用如下命令:

[exakit@192.168.11.11 ~]$ openssl pkcs12 -info -in production.p12 -noout

上述命令执行完,在命令行窗口会出现如下提示,此时输入密码并点击回车进行验证:

Enter Import Password:

如果密码正确:

MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

如果密码错误:

MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
Mac verify error: invalid password?

声明
1.本网站名称: 盲盒博客
2.本站永久网址:https://exakit.com
3.本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长support@exakit.com
4.本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
5.本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6.本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新