keystore to openssl .
java -jar ExportPrivateKey.zip {keystore_path} JKS {keystore_password} {alias} {target_file}
This would export the key to PKCS #8 PEM format. Now run openssl to convert it to the format apache modssl expects the file in
openssl pkcs8 -inform PEM -nocrypt -in exported-pkcs8.key -out exported.key
The java code for exporting the private key in PKCS #8 format
1.
import java.io.File;
2.
import java.io.FileInputStream;
3.
import java.io.FileWriter;
4.
import java.security.Key;
5.
import java.security.KeyPair;
6.
import java.security.KeyStore;
7.
import java.security.KeyStoreException;
8.
import java.security.NoSuchAlgorithmException;
9.
import java.security.PrivateKey;
10.
import java.security.PublicKey;
11.
import java.security.UnrecoverableKeyException;
12.
import java.security.cert.Certificate;
13.
14.
import sun.misc.BASE64Encoder;
15.
16.
public class ExportPrivateKey {
17.
private File keystoreFile;
18.
private String keyStoreType;
19.
private char[] password;
20.
private String alias;
21.
private File exportedFile;
22.
23.
public static KeyPair getPrivateKey(KeyStore keystore, String alias, char[] password) {
24.
try {
25.
Key key=keystore.getKey(alias,password);
26.
if(key instanceof PrivateKey) {
27.
Certificate cert=keystore.getCertificate(alias);
28.
PublicKey publicKey=cert.getPublicKey();
29.
return new KeyPair(publicKey,(PrivateKey)key);
30.
}
31.
} catch (UnrecoverableKeyException e) {
32.
} catch (NoSuchAlgorithmException e) {
33.
} catch (KeyStoreException e) {
34.
}
35.
return null;
36.
}
37.
38.
public void export() throws Exception{
39.
KeyStore keystore=KeyStore.getInstance(keyStoreType);
40.
BASE64Encoder encoder=new BASE64Encoder();
41.
keystore.load(new FileInputStream(keystoreFile),password);
42.
KeyPair keyPair=getPrivateKey(keystore,alias,password);
43.
PrivateKey privateKey=keyPair.getPrivate();
44.
String encoded=encoder.encode(privateKey.getEncoded());
45.
FileWriter fw=new FileWriter(exportedFile);
46.
fw.write(“—–BEGIN PRIVATE KEY—–\n“);
47.
fw.write(encoded);
48.
fw.write(“\n“);
49.
fw.write(“—–END PRIVATE KEY—–”);
50.
fw.close();
51.
}
52.
53.
54.
public static void main(String args[]) throws Exception{
55.
ExportPrivateKey export=new ExportPrivateKey();
56.
export.keystoreFile=new File(args[0]);
57.
export.keyStoreType=args[1];
58.
export.password=args[2].toCharArray();
59.
export.alias=args[3];
60.
export.exportedFile=new File(args[4]);
61.
export.export();
62.
}
63.
}
虽然有错 ,, 还是记录下~!
,, 居然 搞出来是 空指针错误,,
KeyPair keyPair=getPrivateKey(keystore,alias,password);
PrivateKey privateKey=keyPair.getPrivate();
这里读取不到,,
还有Keystore Explorer 这个工具 是可以出私钥的。
大家可以试试。 找到你的 keystore 文件就可以了。
分享到:
相关推荐
标题 "华为应用签名(Unable to export or encrypt the private key)" 涉及的是华为应用市场上应用程序签名过程中遇到的问题,通常在使用PEPK工具时,可能会出现“无法导出或加密私钥”的错误。PEPK(Platform ...
Play Encrypt Private Key (PEPK) 工具,用于导出并加密您的私钥。 PEPK 工具是开放源代码的。源代码可供下载和查看。https://www.gstatic.com/play-apps-publisher-rapid/signing-tool/prod/pepk-src.jar
标题中的“使用public/private key让putty(ssh)自动登录”指的是通过SSH(Secure Shell)协议,使用公钥/私钥对实现Putty的无密码自动登录。这是一项提高远程服务器访问安全性和便利性的技术。 在SSH连接中,通常有...
Then via Conversions -> Export OpenSSH key you can export your private key to another file in OpenSSH format (similarly for ssh.com format). The other authentication method, keyboard-interactive ...
keytool -export -alias privatekey -file D:\keytool\privatekey\certfile.cer -keystore D:\keytool\privatekey\privateKeys.store ``` - **命令解析**: - `keytool -export`:表示导出证书。 - `-alias ...
Created new PEM key : c:\temp\kestore-export.key (without password) Created new PEM cert : c:\temp\kestore-export.crt Created new PFX file : c:\temp\kestore-export.pfx (with password)
在 MATLAB 环境中,`export_fig` 是一个非常实用的工具,它允许用户将图形以高质量的格式导出,适用于出版、报告或者网页展示。这个“export_fig.rar_export_fig_fig”压缩包可能包含了 `export_fig` 工具以及一个...
而“bootstrap-table-export.js”和“tableExport.js”是针对Bootstrap表格的导出插件,它们扩展了表格的功能,允许用户将表格数据导出为各种格式,如CSV、Excel、PDF等,便于数据分析和存储。 首先,我们来详细...
export const privateKey = '' export const freeKeyList = [ '' ] ``` # 腾讯地图key ```js // utils/api.js /** * 逆经纬度查询 * @param {*} lat * @param {*} lon */ export const geocoder = (lat, ...
将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和US_export_policy.jar即可。 jdk对应jar包的路径:D:\Java\jdk1.7.0_25\jre\lib\security jre对应jar包的路径:D:\Java\jre7\lib\...
**tableExport插件包详解** 在网页开发中,有时我们需要将网页中的表格数据导出为各种格式,如CSV、Excel、PDF等,以便用户可以离线查看或进一步处理。这时,`tableExport`插件就派上了用场。`tableExport`是一款...
在Java开发过程中,有时会遇到“illegal key size”的错误,这通常与Java加密算法的限制有关。这个错误信息表示尝试使用的密钥长度超过了Java默认允许的最大值,这涉及到Java Cryptography Extension (JCE)的政策...
用于bootstrap数据表格的导出插件,在引入bootstrap其他主要js和css的前提下,再将bootstrap-table-export.js和tableExport.js引入。包里有两个版本的
每个监控项都有其特定的键(key),Zabbix通过这些键与被监控对象通信,获取数据。监控项可以配置为周期性采集,或者根据特定条件触发采集。 触发器则是根据监控项的值变化来定义告警规则。例如,当CPU负载超过预设...
在`tableExport.jquery.plugin-master`这个压缩包中,可能包含了`tableExport`插件的源代码和其他相关资源。你可以通过查看和修改源代码,确保在导出PDF时正确处理中文字符。同时,查阅插件文档和相关示例,以获取更...
文件名:Export2Excel.js,Export2Excel.js免费下载,可以使用此js在前端导出xlsx表格数据
html表格自动生成Excel并下载(可支持大数据量下载)tableExport.js,tableExport.js
《ExcelExport最新源码解析与应用》 在现代企业数据处理中,Excel表格因其强大的数据组织和分析功能,被广泛应用于各个领域。ExcelExport作为一款高效便捷的Java库,能够帮助开发者快速地将数据导出为Excel格式,极...
当我们谈论“Export2Excel.js”时,我们关注的是一个利用JavaScript实现的功能,即从数据源导出到Excel电子表格。这个功能在数据分析、报表生成以及用户需要下载结构化数据的场景下非常常见。 首先,我们要理解...
总之,“java.security.InvalidKeyException: Illegal key size”是一个与Java加密策略相关的错误,通过更新`local_policy.jar`和`US_export_policy.jar`文件可以有效地解决。这个过程涉及到对Java安全策略的理解,...