当前位置: 首页 > news >正文

openssl 常用命令 pkcs12

openssl pkcs12

openssl pkcs12 官方文档

1. 描述

The pkcs12 command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. PKCS#12 files are used by several programs including Netscape, MSIE and MS Outlook.

pkcs12 命令是用来创建或者解析 PKCS12 格式(有时候也称PFX格式)的文件。

pkcs12 格式文件用于 Netscape, MSIE, MS Outlook等服务器。

pkcs12 格式的文件,可以理解为证书+私钥,即 cert+key。

2. 常用命令

解析命令

# 查看证书信息 -info
openssl pkcs12 -in server.p12 -info
# 不打印私钥和证书内容 -noout
openssl pkcs12 -in server.p12 -noout
# 只输出客户端证书(不包含CA证书) -clerts
openssl pkcs12 -in server.p12 -clcerts
# 只输出CA证书(不包含客户端证书) -cacerts
openssl pkcs12 -in server.p12 -cacerts
# 不输出证书 -nocerts
openssl pkcs12 -in server.p12 -nocerts
# 不输出私钥 -nokeys
openssl pkcs12 -in server.p12 -nokeys
# 不加密私钥 -nodes
openssl pkcs12 -in server.p12 -nodes

创建命令

# 创建 -export
# 前提 已获得 私钥文件 server.key和证书文件 server.crt(可以用下边命令生成)
# 使用 genpkey 生成 server.key
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out server.key
# 使用 req 命令生成 server.crt 文件
openssl req -x509 -new -sha256 -days 3650 -key server.key -out server.crt -subj "/C=CN/test123"# 创建 server.p12 -export(需要交互式输入server.key的口令,以及输出的server.p12的口令)
openssl pkcs12 -inkey server.key -in server.crt -export -out server.p12# 提取PEM文件(含私钥)
openssl pkcs12 -in server.p12 -out server.pem
# 仅提取私钥并设置私钥口令,默认为 des3 加密算法
openssl pkcs12 -nocerts -in server.p12 -out server.key
# 仅提取私钥并设置私钥口令,指定 -aes256 加密算法
openssl pkcs12 -nocerts -in server.p12 -aes256 -out server.key
# 仅提取私钥并不设置私钥口令
openssl pkcs12 -nocerts -nodes -in server.p12 -out server.key
# 检查私钥
openssl rsa -in server.key -check
# 仅提取证书(所有证书)
openssl pkcs12 -nokeys -in server.p12 -out server.crt
# 仅提取CA证书
openssl pkcs12 -nokeys -cacerts -in server.p12 -out cacert.crt
# 仅提取server证书
openssl pkcs12 -nokeys -clcerts -in server.p12 -out server.crt

3. 命令选项

参考官方文档:

openssl pkcs12 官方文档

http://www.lryc.cn/news/258047.html

相关文章:

  • 2017下半年软工(桥接模式)
  • Hive 浅析
  • C 语言中,结构体「.」与「->」的区别
  • 【Java Web学习笔记】5 - XML
  • 在jupyter notebook中修改其他文件的解决方案
  • 如何在Android中旋转屏幕时避免重新绘制Activity
  • 离线环境下安装python库(推荐pip download)
  • ubuntu16.04安装ROS+Gazebo
  • 手动搭建koa+ts项目框架(路由篇)
  • c语言:文件操作(1)
  • 运筹学经典问题(三):最大流问题
  • 裸机开发与Linux驱动开发的区别
  • 【蓝桥杯选拔赛真题75】Scratch行走的螃蟹 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
  • 小型洗衣机哪个牌子质量好?迷你洗衣机排名前十名
  • MySQL_9.B-数索引
  • ubuntu-更改镜像源-系统初始化-安装Clion-C++编译环境-Java安装
  • c语言-动态内存管理
  • 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)
  • 动态规划学习——通符串匹配,正则表达式
  • 【数据开发】Hive 多表join中的条件过滤与指定分区
  • 基于Java SSM框架实现高校人事管理系统项目【项目源码】计算机毕业设计
  • [C++] 模板进阶(非类型模板参数,特化,分离编译)
  • C++ this指针
  • 解决Sortable拖动el-table表头时,由于选择列造成的拖拽顺序错乱的bug
  • Plantuml之类图语法介绍(十六)
  • 深入Docker命令行:探索常用命令和实用技巧
  • qt 容器QVector,QMap,QHash的常见使用与该迭代器的简单介绍
  • 两线制无源 4-20mA 回路供电隔离变送器
  • 强化学习优质博客记录(随缘更新)
  • RabbitMQ-hello