Openssl子命令 genrsa, rsa, req, x509命令详解 您所在的位置:网站首页 rsa密钥对保护 Openssl子命令 genrsa, rsa, req, x509命令详解

Openssl子命令 genrsa, rsa, req, x509命令详解

2024-07-10 22:31| 来源: 网络整理| 查看: 265

openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。

genrsa、rsa、req、x509子命令主要用于RSA密钥的生成和处理,以及证书的申请和制作。

一、genrsa子命令 用途 genrsa子命令主要用于生成RSA私钥。命令行格式: openssl genrsa [args] [numbits]选项 -des 使用des cbc模式对私钥文件进行加密。 -des3 使用des3 cbc模式对私钥文件进行加密。 -idea 使用idea cbc模式对私钥文件进行加密。 -aes128, -aes192, -aes256 使用aes cbc模式对私钥文件进行加密。 -out file 指定输出私钥文件名。 -f4 指定F4做为E值,默认。 -3 指定3做为E值。 -seed arg 指定cbc的随机种子。 -rand file:file 指定随机数种子文件。 举例 创建不加密的RSA私钥。 openssl genrsa -out test.key 1024创建加密的RSA私钥。 openssl genrsa -des3 -out test.key 1024指定随机数创建RSA私钥。 openssl genrsa -des3 -out test.key 1024 -seed abc openssl genrsa -des3 -out test.key 1024 -rand file:hello.txt 二、rsa子命令 用途: rsa子命令主要用于处理RSA公私钥文件。命令行格式: openssl rsa [options] outfile选项说明: -inform arg 指定输入文件格式,可以为DER或PEM,默认为PEM。 -outform arg 指定输出文件格式,可以为DER或PEM,默认为PEM。 -in arg 指定输入文件。 -out arg 指定输出文件。 -pubin 指定输入文件为公钥,默认为私钥。 -pubout 指定输出文件为公钥,默认为私钥。 -passin arg 指定输入文件的口令保护来源。 -passout arg 指定输出文件的口令保护来源。 -des 使用des cbc模式对输出文件进行加密。 -des3 使用des3 cbc模式对输出文件进行加密。 -idea 使用idea cbc模式对输出文件进行加密。 -aes128, -aes192, -aes256 使用aes cbc模式对输出文件进行加密。 -text 打印密钥信息。 -noout 不向控制台打印密钥信息。 -modulus 打印RSA的模数信息。 -check 检查RSA私钥的有效性。 用法举例: 从私钥中提取公钥: openssl rsa -in test.key -out test.pub -pubout转换密钥文件的格式: openssl rsa -in test.key -out test.key.der -outform DER消除私钥的口令: openssl rsa -in test.key -out test.key.nopass提取私钥后,改变加密算法: openssl rsa -in test.key -out test.key.aes128 -aes128指定输入私钥的口令来源,显示私钥信息: openssl rsa -in test.key -text -check -passin file:pass.txt对私钥有效性进行检查: openssl rsa -in test.key -check 三、req子命令 用途 req子命令主要用于创建证书请求文件。命令行格式: openssl req [options] outfile选项说明: -inform arg 指定输入文件格式,可以为DER或PEM,默认为PEM。 -outform arg 指定输出文件格式,可以为DER或PEM,默认为PEM。 -in arg 指定输入文件。 -out arg 指定输出文件。 -new 创建新的证书请求文件。 -key file 指定创建证书请求的私钥文件。 -keyform arg 指定创建证书请求的私钥文件的格式,可以为DER或PEM,默认为PEM。 -passin arg 指定私钥文件的口令保护来源。 -verify 校验证书请求文件的主体签名是否有效。 -noout 不打印证书请求信息。 -text 文本打印证书请求文件。 -modulus 输出证书请求的模数信息。 -subject 输出证书请求主体信息。 -subj arg 设置或修改证书请求的主体信息。 -multivalue-rdn 设置或修改证书请求的主体信息时,允许多RDN格式。 -utf8 输入字符为utf8编码,默认输入为ASCII编码。 -[digest] 指定创建证书请求的摘要算法。 -pubkey 提取证书请求文件中的公钥。 用法举例: 使用交互式方式创建证书请求文件。 openssl genrsa -out test.key 1024 openssl req -new -key test.key -out test.csr使用非交互式方式创建证书请求文件。 openssl req -new -key test.key -out test.csr -subj /C=cn/ST=hunan/L=changsha/O=Default openssl req -new -key test.key -out test.csr -subj "/C=cn/ST=hunan/L=changsha/O=Default Company Ltd/CN=test"打印证书请求文件。 openssl req -in test.csr -text openssl req -in test.csr -subject修改证书请求文件。 openssl req -in test.csr -subj /C=cn/ST=hunan/L=changsha/O=Default -out test.csr校验证书请求文件的合法性。 openssl req -in test.csr -verify提取证书请求文件中的公钥。 openssl req -in test.csr -pubkey -out test.csr.pub 四、x509子命令 用途 x509命令主要用于创建、修改x509证书。命令行格式: openssl x509 [options] outfile选项说明: -inform arg 指定输入文件格式,可以为DER或PEM,默认为PEM。 -outform arg 指定输出文件格式,可以为DER或PEM,默认为PEM。 -keyform arg 指定私钥文件格式,可以为DER或PEM,默认为PEM。 -CAform arg 指定CA文件格式,可以为DER或PEM,默认为PEM。 -CAkeyform arg 指定CA私钥文件格式,可以为DER或PEM,默认为PEM。 -in arg 指定输入文件,默认为标准输入。 -out arg 指定输出文件,默认为标准输出。 -passin arg 指定私钥文件的口令保护来源。 -pubkey 提取持有者公钥。 -trustout 提取可信任证书。 -noout 不向控制台输出证书信息。 -text 打印证书信息。 -C 以C证言格式打印证书信息。 -serial 打印证书的序列号。 -subject_hash 打印持有者的摘要。 -issuer_hash 打印颁发者的摘要。 -hash 等同于-subject_hash。 -subject 打印持有者的DN信息。 -issuer 打印颁发者的DN信息。 -email 打印email地址。 -startdate 打印证书的生效时间。 -enddate 打印证书的失效时间。 -dates 打印证书的有效期。 -purpose 打印证书用途。 -modulus 打印证书中的RSA模数。 -fingerprint 打印证书微缩图。 -alias 打印证书别名。 -ocspid 打印持有者和公钥的OCSP摘要值。 -clrtrust 清除证书附加项里所有有关用途允许的内容。 -clrreject 清除证书附加项里所有有关用途禁止的内容。 -addtrust arg 添加证书附加项里所有有关用途允许的内容。 -addreject arg 添加证书附加项里所有有关用途禁止的内容。 -setalias arg 设置证书别名。 -days arg 设置证书有效期,默认30天。 -checkend arg 检查证书在给定的arg秒后是否还有效。 -signkey arg 指定自签名私钥文件。 -x509toreq 根据证书来生成证书请求,需要指定签名私钥。 -req 输入文件为证书请求。 -CA arg 设置CA文件,必须为PEM格式。 -CAkey arg 设置CA私钥文件,必须为PEM格式。 -CAcreateserial 创建序列号文件。 -CAserial arg 指定序列号文件。 -set_serial 设置证书序列号。 - 指定使用的摘要算法,缺省为MD5。 用法举例:

根据证书请求生成CA证书。 openssl genrsa -out test.key 1024 openssl req -new -key test.key -out test.csr openssl x509 -in test.csr -req -out test.crt -days 365 -signkey test.key

打印证书信息。 openssl x509 -in test.crt -text

转换证书格式。 openssl x509 -in test.crt -out test.crt.der -outform der

根据证书重新创建证书申请。 openssl x509 -x509toreq -in test.crt -out test.crt.req -signkey test.key



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有