Window+Java环境证书生成说明,pfx证书已经生成
Window+Java环境证书生成说明
阅读说明:给具备基本开发能力的人提供自制证书的生成步骤,证书属于敏感信息,生产证书请勿泄漏。
前置条件:Windows系统、JDK1.6以上版本、java编译工具。
- window系统运行cmd命令
- 跳转到${javahome}/bin路径
- 执行命令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格式证书生成完毕
- 转换为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证书已经生成,内含私钥,通过创建时的密码进行签名调用。
- 双击pfx,输入密码导入Windows。
- 在IE中选择“工具--Internet选项--内容”下选择证书,选择base64导出证书公钥,为cer格式,过程如下:
至此,公钥证书已经导出,交给对方进行配置。
Window+Java环境证书生成说明,pfx证书已经生成相关推荐
- Windows使用Openssl生成免费pfx证书
1.生成.key文件,密码Each is hard openssl genrsa -des3 -out server.key 2048 中间会提示输入密码(重复输入两次),要记住这个密码: 这时会在C ...
- window java 环境_Windows配置java环境
Win10下 Java环境变量配置 首先,你应该已经安装了 Java 的 JDK 了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/ ...
- Java环境下用SM2或者RSA格式生成P10
背景: 需求,生成P10时用的私钥不能暴露出来,为了安全起见,将需要用户自己用私钥进行签名后,将私钥签名当参数传入生成P10的接口中. 1.生成P10的工具类 ①该方法是需要使用者传入用户公钥,签名算 ...
- .pfx 证书和 .cer 证书
证书系列: 1:.pfx 证书和 .cer 证书 2:导入pfx证书 通常情况下,作为文件形式存在的证书一般有三种格式: 第一种:带有私钥的证书,由Public Key Cryptography St ...
- JKS、BKS、PFX证书格式之间转换
常用的证书密钥库格式: JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJC ...
- Nginx如何使用.PFX证书
前几天遇到一个很头痛的问题,一个同事丢给我了一个.pfx文件和一个.key文件,我要用nginx配置https(linux服务器,反向代理IIS的web),但是我配置nginx.conf ,ssl证书 ...
- 提取pfx证书密钥对
两个测试证书 test.pfx 和 test.cer . 其中 pfx证书包含RSA的公钥和密钥;cer证书用于提取pfx证书中密钥时允许当前电脑进行合法操作 提取步骤如下: 点击test.cer,安 ...
- pfx证书导入方式,步骤流程
本文分享从Micrsoft Manange Console(简写为 MMC)中导入PFX证书的内容,您可以按住"Windows + R",从Run对话框中输入mmc,打开MMC界面 ...
- 用pfx证书java双向认证_把CA证书生成的crt的证书和pem的私钥转换成java能够使用的keystore和pcks12的证书,实现https双向认证...
最近在做一个https双向认证的工作,领导先让我实现,我之前写了一篇文章,把tomcat的生成证书和配置的实现写了出来. 现在领导给了我服务器的CA证书的客户端证书和私钥,服务端信任证书,分别是crt ...
最新文章
- 设计模式 之美 -- 面向对象(C/C++分别实现)
- Hide the common top menu in Ubuntu 12.04
- web release (bat tool)
- mysql now unixtime_MySQL时间函数from_unixtime()date_format()unix_timestamp()now()使用说明
- 处理本地能登陆mysql但navicat连接不上的问题
- 5 大常用机器学习模型类型总结
- UVA - 11059 Maximum Product-暴力枚举
- 【玩味西班牙】之一:初识餐前小吃——达帕斯(TAPAS)
- Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7)
- 水电缴费系统php源码_php水电费缴费管理系统
- 汉诺塔_-Chaz-_新浪博客
- idea Lombok插件下载
- 仿支付宝输入密码界面
- Addressable编辑器相关开发问题
- 素材网下载图片要 VIP ? 不存在的
- 交通强国,标准先行【附PPT】
- MicroPython_ESP8266_IoT——第四回 初入联网(接入了贝壳物联)
- 2019年12月7日PAT甲级满分题解与经验总结
- vue中关于$emit及propos的用法
- 组策略学习-统一部署软件