openssl的x509命令工具

X509命令是一个多用途的证书工具。它可以显示证书信息、转换证书格式、签名证书请求以及改变证书的信任设置等。

用法:

复制代码
openssl    x509 [-inform DER|PEM|NET] [-outform DER|PEM|NET] [-keyform DER|PEM] [-CAform DER|PEM] [-CAkeyform DER|PEM] [-in filename] [-out filename] [-serial] [-hash] [-subject_hash] [-issuer_hash] [-subject] [-issuer] [-nameopt option] [-email] [-startdate] [-enddate] [-purpose] [-dates] [-modulus] [-fingerprint] [-alias] [-noout] [-trustout] [-clrtrust] [-clrreject] [-addtrust arg] [-addreject arg] [-setalias arg] [-days arg] [-set_serial n] [-signkey filename] [-x509toreq] [-req] [-CA filename] [-CAkey filename] [-CAcreateserial] [-CAserial filename] [-text] [-C] [-md2|-md5|-sha1|-mdc2] [-clrext] [-extfile filename] [-extensions section] [-engine id]

选项:

-inform DER|PEM|NET

指定输入文件的格式,默认为PEM格式。

-outform DER|PEM|NET

指定输出文件格式,默认为PEM格式。

-keyform

指定私钥文件格式,默认为PEM格式。

-CAform

指定CA文件格式,默认为PEM格式。

-CAkeyform

指定CA私钥文件格式,默认为PEM格式。

-in filename

指定输入文件名。

-out filename

指定输出文件名。

-passin

指定私钥保护密钥来源,参考req说明,比如:-passin file:pwd.txt。

-serial

显示证书的序列号。

-subject_hash

显示持有者的摘要值。

-issuer_hash

显示颁发者的摘要值。

-hash

显示证书持有者的摘要值,同-subject_hash。

-subject

显示证书持有者DN。

-issuer

显示证书颁发者DN。

-email

显示email地址。

-enddate

显示证书到期时间。

-startdate

显示证书的起始有效时间。

-purpose

显示证书用途。

-dates

显示证书的有效期。

-modulus

显示公钥模数。

-pubkey

输出公钥。

-fingerprint

打印证书微缩图。

-alias

显示证书别名。

-noout

不显示信息。

-ocspid

显示持有者和公钥的OCSP摘要值。

-trustout

输出可信任证书。

-clrtrust

清除证书附加项里所有有关用途允许的内容。

-clrreject

清除证书附加项里所有有关用途禁止的内容。

-addtrust arg

添加证书附加项里所有有关用途允许的内容。

-addreject arg

添加证书附加项里所有有关用途禁止的内容。

-setalias arg

设置证书别名。

-days arg

设置证书有效期。

-checkend arg

显示证书在给定的arg秒后是否还有效。

-signkey filename

指定自签名私钥文件。

-x509toreq

根据证书来生成证书请求,需要指定签名私钥,如:

openssl x509 -in ca.pem -x509toreq -signkey key.pem

-req

输入为证书请求,需要进行处理。

-CA arg

设置CA文件,必须为PEM格式。

-CAkey arg

设置CA私钥文件,必须为PEM格式。

-CAcreateserial

如果序证书列号文件,则生成。

-CAserial arg

由arg指定序列号文件。

-set_serial

设置证书序列号。

-text

打印证书信息。

-C

用C语言格式显示信息。

-md2|-md5|-sha1|-mdc2

指定使用的摘要算法,缺省为MD5。

-extfile filename

指定包含证书扩展项的文件名,如果没有,那么生成的证书将没有任何扩展项。

-clrext

删除证书所有的扩展项。当一个证书由另外一个证书生成时,可用此项。

-nameopt option

指定打印名字时采用的格式。

-engine e

采用硬件引擎e。

-certopt arg

当采用-text显示时,设置是否打印哪些内容,arg可用是:compatible、no_header、no_version、no_extensions和ext_parse等等,详细信息请参考x509命令的帮助文档。

示例:

openssl x509 -in cert.pem -noout -subject -nameopt RFC2253

openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr -CA cacert.pem -CAkey key.pem --Cacreateserial

相关推荐
需要8261 小时前
分布式 ID 生成:雪花算法、号段模式与时钟回拨
分布式·算法
垆边人似月.1 小时前
华为机考题:字符串分隔
算法·华为
CQU_JIAKE1 小时前
9.4【A】
算法
CQU_JIAKE1 小时前
9.13[A]
算法
懿路向前1 小时前
【唤醒实战笔记】2026-09-29 | 智能体提示词迭代史(v1 → v8)
linux·笔记·算法
@陈小鱼2 小时前
基于CNN-Transformer的无袖带血压估计
人工智能·深度学习·神经网络·算法·cnn·transformer·血压
黄金龙PLUS2 小时前
5个1280比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
LOVE️YOU2 小时前
Python 数据结构的本质:位置、对象引用、Hash 与可变性
数据结构·python·哈希算法
不会就选b2 小时前
算法日常・每日刷题--<动态规划>1
java·数据结构·算法
shehuiyuelaiyuehao2 小时前
算法54,链表 两数相加
数据结构·算法·链表