主页

索引

模块索引

搜索页面

openssl基本

命令:

1.Standard commands
asn1parse         ca                certhash          ciphers
crl               crl2pkcs7         dgst              dh
dhparam           dsa               dsaparam          ec
ecparam           enc               engine            errstr
gendh             gendsa            genpkey           genrsa
nseq              ocsp              passwd            pkcs12
pkcs7             pkcs8             pkey              pkeyparam
pkeyutl           prime             rand              req
rsa               rsautl            s_client          s_server
s_time            sess_id           smime             speed
spkac             ts                verify            version
x509

// 非对称:
2.Message Digest commands (see the `dgst' command for more details)
gost-mac          md4               md5               md_gost94
ripemd160         sha               sha1              sha224
sha256            sha384            sha512            streebog256
streebog512       whirlpool

// 对 称:
3.Cipher commands (see the `enc' command for more details)
aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb
aes-256-cbc       aes-256-ecb       base64            bf
bf-cbc            bf-cfb            bf-ecb            bf-ofb
camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb
camellia-256-cbc  camellia-256-ecb  cast              cast-cbc
cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb
chacha            des               des-cbc           des-cfb
des-ecb           des-ede           des-ede-cbc       des-ede-cfb
des-ede-ofb       des-ede3          des-ede3-cbc      des-ede3-cfb
des-ede3-ofb      des-ofb           des3              desx
rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc
rc2-cfb           rc2-ecb           rc2-ofb           rc4
rc4-40

简单使用:

// 生成服务器端的私钥(运行时会提示输入密码,此密码用于加密key文件)
openssl genrsa -des3 -out zhaoweiguo.com.key 1024
// 生成Certificate Signing Request(CSR)
// 生成的csr文件交给CA签名后形成服务端自己的证书
//屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可
openssl req -new -key zhaoweiguo.com.key -out zhaoweiguo.com.csr

1.使用OpenSSL工具生成CSR文件:

//1.1生成csr文件和私钥key文件
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr
//参数
-new 指定生成一个新的CSR
-nodes指定私钥文件不被加密
-sha256指定摘要算法
-keyout生成私钥
-newkey rsa:2048 指定私钥类型和长度,最终生成CSR文件mydomain.csr
//生成文件
mydomain.csr  myprivate.key

//1.2生成证书文件crt
openssl x509 -req -days 365 -in <csr>.csr -signkey <key>.key -out <newcrt>.crt

2.使用keytool工具生成CSR文件:

//2.1先生成证书文件keystore, 证书文件中包含密钥
keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks
keyalg是密钥类型,必须是RSA
keysize是密钥长度为2048
alias 是证书别名可自定义
keystore是证书文件保存路径

//2.2通过证书文件生成证书请求
keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr
sigalg是摘要算法,使用SHA256withRSA
alias是别名,必须与2.1步中的别名一致
keystore是证书文件
file是证书请求文件(CSR)
而后提示输入证书密码即可以生成mydomain.csr

去除key文件口令的命令:

openssl rsa -in <encryedprivate>.key -out <unencryed>.key
//扩展名为key或者pem均可
//如果一个私钥文件是如下样式(用文本编辑器打开后) ,则说明是带有密码的:
1.PKCS#8 私钥加密格式
-----BEGIN ENCRYPTED PRIVATE KEY-----
BASE64私钥内容......
-----END ENCRYPTED PRIVATE KEY-----
2.Openssl ASN格式
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info:DES-EDE3-CBC,4D5D1AF13367D726
BASE64私钥内容......
-----END RSA PRIVATE KEY-----

私钥转非加密:

openssl rsa -in rsa_aes_private.key -passin pass:111111 -out rsa_private.key

私钥转加密:

openssl rsa -in rsa_private.key -aes256 -passout pass:111111 -out rsa_aes_private.key

主页

索引

模块索引

搜索页面