Window+Java环境证书生成说明

阅读说明:给具备基本开发能力的人提供自制证书的生成步骤,证书属于敏感信息,生产证书请勿泄漏。

前置条件:Windows系统、JDK1.6以上版本、java编译工具。

  1. window系统运行cmd命令
  1. 跳转到${javahome}/bin路径
  1. 执行命令keytool -genkey -alias test(别名) -keypass 123123(私钥密码) -keyalg RSA(算法) -sigalg sha256withrsa(算法小类) -keysize 1024(密钥长度) -validity 365(有效期) -keystore d:/test.jks(生成路径) -storepass 123123(主密码)

或直接执行(不带注释说明):keytool -genkey -alias test -keypass 123123 -keyalg RSA -sigalg sha256withrsa -keysize 1024 -validity 365 -keystore d:/test.jks -storepass 123123

至此jks格式证书生成完毕

  1. 转换为Windows的pfx格式,将如下代码贴到编译器中执行:
package key;import java.io.FileInputStream;    import java.io.FileOutputStream;    import java.security.Key;    import java.security.KeyStore;    import java.security.cert.Certificate;    import java.util.Enumeration;    public class JKS2PFX {    public static final String PKCS12 = "PKCS12";    public static final String JKS = "JKS";    public static final String PFX_KEYSTORE_FILE = "D://test.pfx";    public static final String KEYSTORE_PASSWORD = "123123";    public static final String JKS_KEYSTORE_FILE = "D://test.jks";    public static void coverToPfx() {    try {    KeyStore inputKeyStore = KeyStore.getInstance("JKS");    FileInputStream fis = new FileInputStream(JKS_KEYSTORE_FILE);    char[] nPassword = null;    if ((KEYSTORE_PASSWORD == null)    || KEYSTORE_PASSWORD.trim().equals("")) {    nPassword = null;    } else {    nPassword = KEYSTORE_PASSWORD.toCharArray();    }    inputKeyStore.load(fis, nPassword);    fis.close();    KeyStore outputKeyStore = KeyStore.getInstance("PKCS12");    outputKeyStore.load(null, KEYSTORE_PASSWORD.toCharArray());    Enumeration enums = inputKeyStore.aliases();    while (enums.hasMoreElements()) { //   we   are   readin   just   one   certificate.      String keyAlias = (String) enums.nextElement();    System.out.println("alias=[" + keyAlias + "]");    if (inputKeyStore.isKeyEntry(keyAlias)) {    Key key = inputKeyStore.getKey(keyAlias, nPassword);    Certificate[] certChain = inputKeyStore    .getCertificateChain(keyAlias);    outputKeyStore.setKeyEntry(keyAlias, key, KEYSTORE_PASSWORD    .toCharArray(), certChain);    }    }    FileOutputStream out = new FileOutputStream(PFX_KEYSTORE_FILE);    outputKeyStore.store(out, nPassword);    out.close();    } catch (Exception e) {    e.printStackTrace();    }    }    public static void main(String[] args) {    coverToPfx();    }    }    

至此,pfx证书已经生成,内含私钥,通过创建时的密码进行签名调用。

  1. 双击pfx,输入密码导入Windows。
  1. 在IE中选择“工具--Internet选项--内容”下选择证书,选择base64导出证书公钥,为cer格式,过程如下:

至此,公钥证书已经导出,交给对方进行配置。

Window+Java环境证书生成说明,pfx证书已经生成相关推荐

  1. Windows使用Openssl生成免费pfx证书

    1.生成.key文件,密码Each is hard openssl genrsa -des3 -out server.key 2048 中间会提示输入密码(重复输入两次),要记住这个密码: 这时会在C ...

  2. window java 环境_Windows配置java环境

    Win10下 Java环境变量配置 首先,你应该已经安装了 Java 的 JDK 了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/ ...

  3. Java环境下用SM2或者RSA格式生成P10

    背景: 需求,生成P10时用的私钥不能暴露出来,为了安全起见,将需要用户自己用私钥进行签名后,将私钥签名当参数传入生成P10的接口中. 1.生成P10的工具类 ①该方法是需要使用者传入用户公钥,签名算 ...

  4. .pfx 证书和 .cer 证书

    证书系列: 1:.pfx 证书和 .cer 证书 2:导入pfx证书 通常情况下,作为文件形式存在的证书一般有三种格式: 第一种:带有私钥的证书,由Public Key Cryptography St ...

  5. JKS、BKS、PFX证书格式之间转换

    常用的证书密钥库格式:  JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJC ...

  6. Nginx如何使用.PFX证书

    前几天遇到一个很头痛的问题,一个同事丢给我了一个.pfx文件和一个.key文件,我要用nginx配置https(linux服务器,反向代理IIS的web),但是我配置nginx.conf ,ssl证书 ...

  7. 提取pfx证书密钥对

    两个测试证书 test.pfx 和 test.cer . 其中 pfx证书包含RSA的公钥和密钥;cer证书用于提取pfx证书中密钥时允许当前电脑进行合法操作 提取步骤如下: 点击test.cer,安 ...

  8. pfx证书导入方式,步骤流程

    本文分享从Micrsoft Manange Console(简写为 MMC)中导入PFX证书的内容,您可以按住"Windows + R",从Run对话框中输入mmc,打开MMC界面 ...

  9. 用pfx证书java双向认证_把CA证书生成的crt的证书和pem的私钥转换成java能够使用的keystore和pcks12的证书,实现https双向认证...

    最近在做一个https双向认证的工作,领导先让我实现,我之前写了一篇文章,把tomcat的生成证书和配置的实现写了出来. 现在领导给了我服务器的CA证书的客户端证书和私钥,服务端信任证书,分别是crt ...

最新文章

  1. 设计模式 之美 -- 面向对象(C/C++分别实现)
  2. Hide the common top menu in Ubuntu 12.04
  3. web release (bat tool)
  4. mysql now unixtime_MySQL时间函数from_unixtime()date_format()unix_timestamp()now()使用说明
  5. 处理本地能登陆mysql但navicat连接不上的问题
  6. 5 大常用机器学习模型类型总结
  7. UVA - 11059 Maximum Product-暴力枚举
  8. 【玩味西班牙】之一:初识餐前小吃——达帕斯(TAPAS)
  9. Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7)
  10. 水电缴费系统php源码_php水电费缴费管理系统
  11. 汉诺塔_-Chaz-_新浪博客
  12. idea Lombok插件下载
  13. 仿支付宝输入密码界面
  14. Addressable编辑器相关开发问题
  15. 素材网下载图片要 VIP ? 不存在的
  16. 交通强国,标准先行【附PPT】
  17. MicroPython_ESP8266_IoT——第四回 初入联网(接入了贝壳物联)
  18. 2019年12月7日PAT甲级满分题解与经验总结
  19. vue中关于$emit及propos的用法
  20. 组策略学习-统一部署软件

热门文章

  1. UVA - 10603 Fill(隐式图搜索)
  2. [CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性
  3. 对未登陆的用户进行处理的页面
  4. DELL R730 iDRAC8远程控制卡使用
  5. 如何判断一个女孩是不是真的爱你?
  6. linux常见的查看命令
  7. Eclipse插件安装之,使用(已经下载的zip)安装包直接安装插件(例:glassfish 插件 plugin)
  8. 力扣题目——103. 二叉树的锯齿形层序遍历
  9. 【Oracle】配置客户端监听
  10. RHEL6解决无法使用YUM源问题