openSSl简录

内容讲解分别引用自:

openssl用法详解

OpenSSL 命令详解(二)——摘要算法、签名、验签

openssl生成SSL证书的流程

1、对称加密

对称加密需要使用的标准命令为 enc ,用法如下:

openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64][-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

常用选项有:

-in filename:指定要加密的文件存放路径

-out filename:指定加密后的文件存放路径

-salt:自动插入一个随机数作为文件内容加密,默认选项

-e:可以指明一种加密算法,若不指的话将使用默认加密算法

-d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致

-a/-base64:使用-base64位编码格式

示例:创建新文件test,对其进行对称加解密

openssl enc -e -des3 -a -salt -in ./test -out ./result
openssl enc -d -des3 -a -salt -in ./test -out ./result

2、计算摘要

指令为dgst,用法如下:

openssl dgst [-算法名称] [-其他选项] inputfile

支持的算法有:

-md5:默认选项,用md5算法进行摘要。

-md4:用md4算法进行摘要。

-mdc2:用mdc2算法进行摘要。

-sha1:用sha1算法进行摘要。

-sha:用sha算法进行摘要。

-sha224:用sha算法进行摘要。

-ripemd160:用ripemd160算法进行摘要。

-dss1:用dss1算法进行摘要。

-dss1:用whirlpool算法进行摘要。

其他选项:

-out file:输出到指定文件

-c:打印出两个哈希结果的时候用冒号来分隔开。仅仅设置了[-hex]的时候有效。

-r:用coreutils格式来输出摘要值。

-rand file:产生随机数种子的文件(没发现产生实际效果)。

-d:打印出BIO调试信息值。

-hex:显示ASCII编码的十六进制摘要结果,默认选项。

-binary:以二进制的形式来显示摘要结果值。

例如:计算文件test的摘要

openssl dgst -md5 test

3、签发CA自签名证书

openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

4、生成私钥长度为1024,有效期为2年的客户证书。

openssl genrsa -des3 -out client.key 1024 
openssl req -new -key client.key -out client.csr -subj  "/C=CN/ST=BJ/L=BJ/0=zlex/OU=zlex/CN=zlex"
openssl ca -days 730 -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

PGP

你可能感兴趣的:(openSSl简录)