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