`
wx634200
  • 浏览: 5048 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

keystool export private key

阅读更多
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)

    标题 "华为应用签名(Unable to export or encrypt the private key)" 涉及的是华为应用市场上应用程序签名过程中遇到的问题,通常在使用PEPK工具时,可能会出现“无法导出或加密私钥”的错误。PEPK(Platform ...

    Play Encrypt Private Key (PEPK) 工具

    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)自动登录

    标题中的“使用public/private key让putty(ssh)自动登录”指的是通过SSH(Secure Shell)协议,使用公钥/私钥对实现Putty的无密码自动登录。这是一项提高远程服务器访问安全性和便利性的技术。 在SSH连接中,通常有...

    How to use SFTP

    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 ...

    key创建证书指令

    keytool -export -alias privatekey -file D:\keytool\privatekey\certfile.cer -keystore D:\keytool\privatekey\privateKeys.store ``` - **命令解析**: - `keytool -export`:表示导出证书。 - `-alias ...

    kestore-export

    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)

    export_fig.rar_export_fig_fig

    在 MATLAB 环境中,`export_fig` 是一个非常实用的工具,它允许用户将图形以高质量的格式导出,适用于出版、报告或者网页展示。这个“export_fig.rar_export_fig_fig”压缩包可能包含了 `export_fig` 工具以及一个...

    bootstrap-table-export.js和tableExport.js

    而“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, ...

    AES加密出现InvalidKeyException之Illegal key size解决方案

    将下面链接中的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插件包

    **tableExport插件包详解** 在网页开发中,有时我们需要将网页中的表格数据导出为各种格式,如CSV、Excel、PDF等,以便用户可以离线查看或进一步处理。这时,`tableExport`插件就派上了用场。`tableExport`是一款...

    illegal key size local_policy.jar US_export_policy.jar JDK6-8的替换文件

    在Java开发过程中,有时会遇到“illegal key size”的错误,这通常与Java加密算法的限制有关。这个错误信息表示尝试使用的密钥长度超过了Java默认允许的最大值,这涉及到Java Cryptography Extension (JCE)的政策...

    bootstrap table 导出文件 bootstrap-table-export.js和tableExport.js

    用于bootstrap数据表格的导出插件,在引入bootstrap其他主要js和css的前提下,再将bootstrap-table-export.js和tableExport.js引入。包里有两个版本的

    zbx_export_templates.zip

    每个监控项都有其特定的键(key),Zabbix通过这些键与被监控对象通信,获取数据。监控项可以配置为周期性采集,或者根据特定条件触发采集。 触发器则是根据监控项的值变化来定义告警规则。例如,当CPU负载超过预设...

    tableExport导出pdf 中文 乱码解决

    在`tableExport.jquery.plugin-master`这个压缩包中,可能包含了`tableExport`插件的源代码和其他相关资源。你可以通过查看和修改源代码,确保在导出PDF时正确处理中文字符。同时,查阅插件文档和相关示例,以获取更...

    Export2Excel.js 免费下载、Export2Excel.js下载

    文件名:Export2Excel.js,Export2Excel.js免费下载,可以使用此js在前端导出xlsx表格数据

    tableExport.js

    html表格自动生成Excel并下载(可支持大数据量下载)tableExport.js,tableExport.js

    ExcelExport最新源码

    《ExcelExport最新源码解析与应用》 在现代企业数据处理中,Excel表格因其强大的数据组织和分析功能,被广泛应用于各个领域。ExcelExport作为一款高效便捷的Java库,能够帮助开发者快速地将数据导出为Excel格式,极...

    Export2Excel.js

    当我们谈论“Export2Excel.js”时,我们关注的是一个利用JavaScript实现的功能,即从数据源导出到Excel电子表格。这个功能在数据分析、报表生成以及用户需要下载结构化数据的场景下非常常见。 首先,我们要理解...

    解决java.security.InvalidKeyException: Illegal key size

    总之,“java.security.InvalidKeyException: Illegal key size”是一个与Java加密策略相关的错误,通过更新`local_policy.jar`和`US_export_policy.jar`文件可以有效地解决。这个过程涉及到对Java安全策略的理解,...

Global site tag (gtag.js) - Google Analytics