由 openssl生成的private key文件如下:
-----BEGIN RSA PRIVATE KEY-----
MIICXwIBAAKBgQDzxjNvQ4oUrDtPaPAnWiiixsiZSuNXIFhSwbKoaRWYLQSSCJPI
NuwCi2uRfQemOWp9EWUwxeQOwWxD3XUqZksCj7L7AUd8RXsIlB+Nejbw4KmSxbYn
39eGrf/ipWD4lrsUJMuuNi/QcIG3EsBjs63wxKzpA1+0diOAfHzXSJewTQIDAQAB
AoGBAND6GmHJrnemZnne5fF2UtuoOZNgJaAtNEpNjtDctQxtmzttavL6UjykNKTW
YFZZZjatUOgM3ULhAeTz1ltwsd9lzw+pF9CsyAOwyQNhjdO3VV+hmAinBm/32yPp
xkuqThS40pX5SRV5HZlLLm4dj90UA1bxrgr5LUQePPI9jzBBAkEA/7Q/9DDVKjie
f8Eeuh/ZElAjVve+DgmQJYkM2QOAHkCx2Zmw5hOq1TROVJUiJsSegSWWvMDnVA/w
bPboSFKOeQJBAPQOar6bj7EdSO5atrJg3jSA+SW/j30ljhERDOk3eI8bfgMYL7EG
QOG01VwoR3uyVEKY3n8i2WKGLuNwBe/Qa3UCQQCVODYeJaUwB2yPdz6cNVuy8Ss+
ZEL35CLHlMv3lLBedziSmLr/+Tg3RVf0yjbs0s8A5NOrgRM+HjMbE5eIJQ1ZAkEA
oWsPqvYUud5WqF+TSrPLBArxvsfOTcWTCzKtyWqI8I4McFuE3571NtN18rgpX2T5
Wfrl3kzcXs/FH2SuaIj/KQJBANFxrPGmyZNcGf0uiwm241+j3Pmy90+XUrmL1VYL
z1uGk3VsnRPo1SnO+f70zS3gfqodFk5Y9S0ZAj/p6uyeL2E=
-----END RSA PRIVATE KEY-----
用java代码要从这个文件中得到想要的priavtekey 可以先用命令
openssl pkcs8 -topk8 -inform PEM -outform DER -in rsa_pem.key -out pkcs8_der.key -nocrypt
对*.key文件进行转换,然后再读转换后的文件
File file = new File(keyfile); //keyfile key文件的地址
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
byte[] tmpbuf = new byte[1024];
int count = 0;
while ((count = in.read(tmpbuf)) != -1) {
bout.write(tmpbuf, 0, count);
tmpbuf = new byte[1024];
}
in.close();
把读的输入流转变成自己想要的privatekey
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(bout.toByteArray());
RSAPrivateKey privateKey = (RSAPrivateKey)keyFactory.generatePrivate(privateKeySpec);
这样就可以使用privatekey对自己的文件进行加密了
//进行加密
Signature dsa = Signature.getInstance("SHA1withRSA"); //采用SHA1withRSA加密
dsa.initSign(privateKey);
dsa.update(voucher.getBytes()); //voucher需要加密的String必须变成byte类型的
byte[] sig = dsa.sign();
byRSA=toHexString(sig); //加密后的byte类型变成十六进制的String
分享到:
相关推荐
https://blog.csdn.net/qqq1112345/article/details/123082647 文章代码生成的key文件。
openssl密钥生成工具,用于生成公钥私钥
这是采用调用opessl生成的证书。方法封装在jar包。有些原有的
RSA密钥生成与使用 openssl密钥生成工具。内附使用方法
1.安装OpenSSL(Win32) 0.9.8l解压压缩包, 双击exe文件:选择安装路径:选择工具安装位置:安装中:安装完成:2.生成RSA密钥进入Open
使用openssl生成证书,有详细的步骤说明,亲测可用。还有一些关于证书的一些常用转换操作介绍
openssl密钥生成 一个密钥生成的软件,使用方法网上很容易找到。
Hmailserver配置openSSL生成密钥公钥Win64OpenSSL+DKIM,文件内容有Win64OpenSSL_Light-1_1_1w,GenDKIM.bat,GenDKIMtxt.exe,makeHMScert.bat,先安装Win64OpenSSL_Light-1_1_1w,然后进入安装目录的bin目录下,将...
通过OpenSSL生成的ssl证书,用于windows下用nginx配置https服务器( OpenSSL创建证书) 无需再下载OpenSSL,配置OpenSSL相关环境,在进行命令生成证书
使用openssl生成RSA密钥对
linux下openssl中非对称加密算法RSA的16进制密钥生成方法
.net使用 pem格式的RSA公钥,私钥 加解密 ,NET使用OpenSSL生成的pem密钥文件,
openssl生成秘钥工具,使用openssl工具生成秘钥,拿来即用。 使用方法:https://blog.csdn.net/hezheqiang/article/details/85243473
私钥为OpenSSL生成的PEM文件,本资源用C#从文件中读取私钥并加密,可以使用。
这个文件里的东西对openssl源码进行了编译后生成的头文件,可以直接拿来用了
openssl 中把pem格式的SM2密钥,解析成EC_KEY格式的key,然后解析出key中公钥和私钥
生成RSA加密解密使用的密钥对项目
直接可用的密钥对生成工具,可配合博客:http://blog.csdn.net/a138984/article/details/47042267 参考使用
编译openSSL 1.0.1.f 版本之后生成的lib文件,加dll文件,使用静态加载只需要加载lib文件即可,生成32位,64位,Debug,Release版本,本人做https请求的时候使用的的,亲自测试过,可以使用
使用openssl生成单向ssl证书,此方法生成的证书可以用于基于boost.asio库的SSL通讯测试中。基于基于boost.asio库SSL通讯测试程序可参见本人其他资源。