openssl原理及常用命令

openssl命令

# OpenSSL 加密
Linux环境openssl命令参考:
openssl aes-256-ecb -salt -in 你要加密的文件 -out 加密后的文件

例如加密vnf_1.tar.gz,那命令就是(密码你要记住)
openssl aes-256-ecb -salt -in vnf_1.tar.gz -out aes_vnf_1.tar.gz

解密就是:
openssl aes-256-ecb -d -salt -in aes_vnf_1.tar.gz -out vnf_1.tar.gz

# 解析 证书 
openssl x509 -noout -text -in package.cert

#https://dev.zte.com.cn/topic/#/42742
根证书:ca.cert
签名证书:package.cert
签名私钥:private.key

#通过根证书生成签名证书
openssl genrsa -out ./private.key 2048
openssl req -new -key ./private.key -out ./package.csr -subj "/C=CN/ST=SZ/L=SZ/O=zte/OU=core/CN=www.zte.com.cn" 
openssl x509 -req -days 3650 -sha256 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req -CA ./ca.cert -CAkey ./ca.key -CAserial ca.srl -CAcreateserial -in ./package.csr -out ./package.cert

#//查看证书信息
openssl x509 -noout -text -in package.cert

#//使用根证书验证签名证书的合法性
openssl verify -CAfile ca.cert package.cert

#//从证书中获取公钥
openssl x509 -outform PEM -in ./package.cert -pubkey -out /dev/null > public.key

#//两种签名/验签方式
dgst:
openssl dgst -sign private.key -sha256 -out sign ngomm.tar.gz——私钥版本包签名
openssl dgst -verify public.key -sha256 -signature sign ngomm.tar.gz——公钥版本包签名验证

rsault:
openssl dgst -sha256 -out hash ngomm.tar.gz——提取版本包摘要
openssl rsautl -sign -inkey private.key  -in hash -out sign——私钥摘要签名
openssl rsautl -verify -inkey public.key -pubin -in sign -out hash——公钥还原摘要