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