使用java keytool 生成自签名证书。
过程如下:
参数如下:
-genkeypair 生成密钥对
-keyalg 指定密钥算法
-keysize 指定密钥长度
-sigalg 指定签名算法
-validity 证书有效期
-alias 别名
-keystore 密钥库存储位置
注:本文目的不在于生成及导出密钥库证书,故不做详细说明
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
生成并导出获得2份证书: JumpFly.cer JumpFly2.cer
单程序上模拟服务端与客户端利用证书进行加解密交换信息-------------------------
定义密钥库相关信息:(模拟中两端存于同一密钥库下,实际上应该是双方自己的独立密钥库)
private static String password = "123456";
private static String alias = "www.JumpFly.org";
private static String Calias = "www.JumpFly2.org";
private static String certificatePath = "D:/FileBox/CerBox/JumpFly.cer";
private static String CcertificatePath = "D:/FileBox/CerBox/JumpFly2.cer";
private static String keyStorePath = "C:/Windows/System32/JumpFly.keystore";
定义文件路径:
String FilePath="D:\\FileBox\\JAVA3D.zip"; //原始待加密文件路径
String EnFilePath="D:\\FileBox\\EnJAVA3D.zip";//加密后文件路径
String DeFilePath="D:\\FileBox\\DeJAVA3D.zip";//解密后文件路径
文件摘要使用Commons Codec下的DigestUtils类进行摘要处理(可自行查阅Comm