1.3CA和证书以及openssl工具基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.3CA和证书以及openssl工具基础相关的知识,希望对你有一定的参考价值。

CA和证书以及openssl工具基础

CA和证书

CA(Certificate Authority)签证机构

CA的作用是为网络中通信双方的公钥提供可信任数字签名

CA是被公认的的网络信任结构,CA证书的内容包括:

颁发者 
使用者 
版本 
签名算法 
签名哈希算法 
使用者 
公钥 
指纹 
指纹算法 

证书获取
证书类型:
证书授权机构的证书
服务器
用户证书
获取证书两种方法:
? 使用证书授权机构
生成签名请求(csr)
将csr发送给CA
从CA处接收签名
? 自签名的证书
自已签发自己的公钥

安全协议

SSL: Secure Socket Layer,TLS: Transport Layer Security

功能:机密性,认证,完整性,重放保护

两阶段协议,分为握手阶段和应用阶段
握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信

OpenSSL
OpenSSL:开源项目
三个组件:
openssl: 多用途的命令行工具,包openssl
libcrypto: 加密算法库,包openssl-libs
libssl:加密模块应用库,实现了ssl及tls,包nss
?openssl命令:
两种运行模式:交互模式和批处理模式
openssl version:程序版本号
标准命令、消息摘要命令、加密命令
标准命令:
enc, ca, req, ...

openssl命令

对称加密:
工具:openssl enc, gpg
算法:3des, aes, blowfish, twofish

enc命令:
帮助:man enc

-e 默认为使用-e选项,所以缺省
-des3 使用3DES加密算法
-salt 使用盐,保证同一个文件的加密生成的密文每次不同
-in 需要openssl处理的文件

-out 处理完输出的文件

加密:
openssl enc -e -des3 -a -salt -in testfile-out testfile.cipher

解密:
openssl enc -d -des3 -a -salt –in testfile.cipher-out testfile

单向加密**

使用 dgst 子命令完成单向加密

dgst命令:
帮助:man dgst
openssl dgst -md5 [-hex默认] /PATH/SOMEFILE
openssl dgst -md5 testfile
md5sum /PATH/TO/SOMEFILE

技术分享图片

生成用户密码:
passwd命令:
帮助:man sslpasswd
openssl passwd -1 -salt SALT(最多8位)
openssl passwd -1 –salt centos

技术分享图片
生成随机数:
帮助:man sslrand
openssl rand -base64|-hex NUM (NUM: 表示字节数;-hex时,每个字符为十六进制,相当于4位二进制,出
现的字符数为NUM*2)
技术分享图片

以上是关于1.3CA和证书以及openssl工具基础的主要内容,如果未能解决你的问题,请参考以下文章

如何使用OpenSSL工具生成根证书与应用证书

Security基础:OpenSSL及证书服务邮件TLS/SSL加密通信

openssl生成perm文件

openssl ca(签署和自建CA)

(13) openssl ca(签署和自建CA)

Openssl CA证书生成以及双向认证,及windows系统证书批量导出,android cer转bks