Openssl使用


date: 2019-6-21
author:yangxiaoyi
---ide

对称加密

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:指定要加密的文件存放路径加密

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

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

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

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

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

示例:
加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami
解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami
openssl enc -e -aes-256-cfb -a -S 1234 -in test.txt -out testout.txt -k 123
openssl enc -d -aes-256-cfb -a -S 1234 -in testout.txt -out testde.txtci

生成秘钥对

首先须要先使用 genrsa 标准命令生成私钥,而后再使用 rsa 标准命令从私钥中提取公钥。

genrsa 的用法以下:

openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
经常使用选项有:

-out filename:将生成的私钥保存至指定的文件中

-des|-des3|-idea:不一样的加密算法

numbits:指定生成私钥的大小,默认是2048

通常状况下秘钥文件的权限必定要控制好,只能本身读写,所以能够使用 umask 命令设置生成的私钥权限,示例以下:

ras 的用法以下:

openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
[-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]
经常使用选项:

-in filename:指明私钥文件

-out filename:指明将提取出的公钥保存至指定文件中

-pubout:根据私钥提取出公钥

示例以下:

实例

```

建立根证书

cd /etc/pki/CA/
mkdir certs crl newcerts private
touch serial index.txt
echo 01 > serial
touch crlnumber
openssl genrsa -out private/cakey.pem 2048
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

生成私钥和请求文件

cd CA
openssl genrsa -out test.key 2048
openssl req -new -key test.key -out test.csr -days 365

利用根证书颁发证书

cd /etc/pki/CA/ mkdir req cp /root/CA/test.csr req/ openssl ca -in req/test.csr -out /etc/pki/CA/certs/test.crt -days 365

相关文章
相关标签/搜索