概览
1.png关于SSL/TLS
SSL为1994网景公司推出,在1999年被IETF标准化,成为TLS,通常认为SSL和TLS是一个标准,两者之间差异很小。
先了解加密
了解一些加密算法及术语
-
对称加密
- 即加密的密钥和解密的密钥相同
- DES、3DES、TDES、RC5、Blowfish、IDEA
-
非对称加密
- 非对称加密将密钥分为公钥和私钥,公钥可以公开,私钥需要保密。例如:客户端公钥加密的数据,服务端可以通过私钥来解密
- RSA、Elgamal、背包算法、Rabin、D-H、ECC、DSA
-
哈希算法
- 将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆
- 例如:MD5、SHA-1、SHA-2、SHA-256 等
-
数字签名
- 签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改
-
为什么证书中的签名是对
摘要
做加密的结果,而不直接对内容做加密?- 以为原文内容过长,加密相当耗时,加密内容过长,传输也会造成更大的负担,所以先将原文
摘要
再做加密,来作为签名。
- 以为原文内容过长,加密相当耗时,加密内容过长,传输也会造成更大的负担,所以先将原文
什么是数字认证机构 CA
是客户端和服务器双方都可信赖的第三方机构,每个操作系统和大多数浏览器都会内置一个知名证书颁发机构的名单,由浏览器和系统来验证这个事情。
服务器的运营人员向数字证书认证机构提出证书认证申请,数字证书认证机构在判明申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书(也叫数字证书或证书)后绑定在一起。服务器将这份有数字认证机构颁发的公钥证书发总给客户端,以进行公开密钥加密方式通信。
我们可以看个阿里云的例子
阿里云申请ssl证书有两种方式,一种是“系统生成”一种是“手动生成”
系统生成
这种就很简单了,按照要求填写地区信息,单位信息就可以啦,系统会帮你生成私钥,再用这些信息帮你去CA机构申请所需的用户证书啦,然后下载下载证书文件和私钥文件就可以部署在各种服务器了
手动生成
在申请数字证书之前,您必须先生成证书私钥和证书请求文件(Certificate Signing Request,简称 CSR)。CSR文件是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心进行审核。
手动生成CSR文件的同时会生成私钥文件,请务必妥善保管和备份您的私钥。
您手动生成CSR文件时,一般需要输入以下信息:
Organization Name(O): 申请单位名称法定名称,可以是中文或英文。
Organization Unit(OU): 申请单位的所在部门,可以是中文或英文。
Country Code(C): 申请单位所属国家,只能是两个字母的国家码。例如,中国只能是CN。
State or Province(S): 申请单位所在省名或州名,可以是中文或英文。
Locality(L): 申请单位所在城市名,可以是中文或英文。
Common Name(CN): 申请SSL证书的具体网站域名。
使用OpenSSL工具生成CSR文件
- 安装OpenSSL工具。
- 执行命令
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr
生成CSR文件。其中,-
-new
指定生成一个新的CSR。 -
-nodes
指定私钥文件不被加密。 -
-sha256
指定摘要算法。 -
-keyout
生成私钥文件。 -
-newkey rsa:2048
指定私钥类型和长度。
-
- 生成CSR文件mydomain.csr。
image
完成命令提示的输入后,会在当前目录下生成myprivate.key(私钥文件)和 mydomain.csr(CSR,证书请求文件)两个文件。
网友评论