只是概要性的提纲,不想过多的粘贴代码
Base64
单表置换,不能认为是现代加密算法
- 用于二进制数据传输,密钥存储,数字证书存储
- rfc 要求编码后每76个字符一个回车换行符(\r\n)
// -n 不要自动加上换行
echo -n test | openssl base64 -d
消息摘要
MD5
、SHA-1
对称加密
DES/三重DES
、AES
、RC2/RC4/RC5
非对称加密算法
RSA
、DSA
、ECDSA
数字签名
先使用消息摘要算法
对原始消息做摘要处理,然后再使用私钥
对摘要值做签名处理;在发送数据时需要附加签名;验证签名时,则使用公钥
验证消息的摘要值
Certificate(数字证书)
数字证书文件编码格式:.cer
、.der
数字证书由公钥基础设施(PKI)制定的X.509国际标准X509Certificate
,目前已经有3个版本
KeyStore(密钥库)
通过Alias
(别名)进行组织密钥和证书;别名可能对应密钥或或证书
-
返回密钥库类型:
getType()
JKS:java keystore PKCS12: JCEKS:美国出口限制 getDefaultType() 返回系统默认密钥库类型