| 加密方式1. 对称加密对称加密密钥是相同的。 1.1常见对称加密算法:| 算法 | 描述 | 
|---|
 | DES(Data Encryption Standard) | 数据加密标准,速度较快,适用于加密大量数据 |  | 3DES(Triple DES) | 基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 |  | AES(Advanced Encryption Standard) | 高级加密标准,速度快,安全级别高 |  | Blowfish | 速度快,且安全,没有商业限制 | 
 2. 非对称加密非对称加密有公钥和私钥。特点:
 算法需要两个密钥,一个公开,公开的密钥无法推导出对应的私钥。算法复杂度相对对称加密算法高,所以计算相对慢。密钥的保密性好,公钥可以公开,免去交换密钥的需求。
 使用场景数据加密传输报文签名校验
 常见非对称加密算法RSA 数字证书由权威部门颁发的成为证书。证书有公钥,还有证书的所有者,还有发布机构和证书有效期,可以类似身份证。这个证书是怎么生成的?生成证书需要发起一个请求,然后将这个请求发给一个权威机构去认证,这个机构称为CA(Certificate Authority)。证书请求可以通过该命令生成:
 
 openssl req -key test.key -new -out test.req将这个请求发给权威机构,权威机构会给这个证书一个章,成为签名算法。如何保证签名是真的权威机构签名的呢?用权威机构CA的私钥就可以保证了。
 权威机构给证书的签名的命令是这样的:
 
 openssl x509 -req in test.req -CA cert.pem -CAkey private.key -out test.pem这个命令会返回Signature ok,而test.pem就是签过名的证书。
 查看证书内容的命令:
 
 openssl x509 -in test.pem -noout -text想要验证证书,需要CA的公钥,问题来了,怎么确定CA的公钥是否可靠?CA的公钥需要有上级给他背书,证书体系中就是Root CA。还有一种证书就是自签名证书,自己给自己签名。
 密钥公钥加密、私钥解密。私钥签名、公钥验证。
 密钥文件是用于存放私钥和公钥的文件,可以把私钥和公钥放在一起,也可以分开放。而密钥文件有很多格式。jks、p12、pem、cert,要根据不同的服务端和客户端选取。一个密钥文件可以存放多个公钥和私钥。
 生成cert文件的两种方式:第一种:自己生成密钥和CSR(Certificate Signing Request)证书请求文件,把CSR给CA机构,机构生成一个cert文件给你,然后要把该cert文件导入到自己的密钥文件里。
 第二种:直接在CA生成所有,然后回给private key和cert文件,配置到服务端即可。 密钥格式:Private Key:
 -----BEGIN ENCRYPTED PRIVATE KEY-----
XXXX
-----END ENCRYPTED PRIVATE KEY-----
 CSR文件 -----BEGIN CERTIFICATE REQUEST-----
XXX
-----END CERTIFICATE REQUEST -----
 Public key文件 ----- BEGIN PUBLIC KEY-----
XXX
----- END PUBLIC KEY-----
 Cert文件 ----- BEGIN CERTIFICATE ----- 
XXX
----END CERTIFICATE -----
 密钥工具keytool,openssl。 keytool是JDK提供的工具。 常见证书类型 带有私钥的证书由PublicKey Cryptography Standards #12,即PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以 pfx 作为证书文件后缀名
 二进制编码的证书二进制编码的证书:由X.509公钥证书格式标准定义,证书中没有私钥,包含DER编码二进制格式的公钥,以 cer 作为证书文件后缀名。
 Base64编码的证书Base64编码的证书:由X.509公钥证书格式标准定义,证书中没有私钥,包含BASE64编码格式的公钥,也是以 cer 作为证书文件后缀名。
 HTTPS的工作模式非对称加密在性能上不如堆成加密。HTTPS用
 链接https://juejin.cn/post/6844904141987282952https://juejin.cn/post/6844903545272041479https://juejin.cn/post/6882404615443185678https://juejin.cn/post/7099723298031796254https://juejin.cn/post/6844904072856731662
 |