1.前言
在与外部通信时,经常需要进行加解密、加签验签,加解密保证保密性,加签验签防篡改和抗否认。目前用的最多的加解密技术是非对称加密,即发送端公钥加密-接收端私钥解密;而加签验签则使用发送端私钥签名,接受端公钥验签。这些都依赖密钥,在真正的通信之前通常需要交换密钥,交换的是密钥文件,公钥文件常见的有.cer文件、.pem文件;私钥文件常见的有jks密钥库、pfx密钥库,der、pem文件,读取这些文件并转换成Java的公钥PublicKey、私钥PrivateKey对象的方式有所区别,下面介绍下各种文件的解析方式。
2.私钥解析
格式对比
格式 | 内容 |
der | PKCS#8 二进制流 或者Base64编码 |
pem | -----BEGIN PRIVATE KEY----- ...Base64(der)... -----END PRIVATE KEY----- |
2.1 der格式
der私钥文件通常是二进制形式或者其Base64编