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可用是:compatibleno_headerno_versionno_extensionsext_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