个人签发https证书
环境:
jdk1.8
window7
cmder
1.生成证书库jks
keytool.exe -genkeypair -alias www.bingco.com -keyalg RSA ^
-keysize -keypass ^
-sigalg SHA256withRSA ^
-keystore www.bingco.com.jks -storetype JKS ^
-storepass ^
-validity
2. jks转p12
keytool.exe -importkeystore ^
-srckeystore www.bingco.com.jks ^
-destkeystore www.bingco.com.p12 ^
-srcstoretype jks ^
-deststoretype pkcs12
3.p12转keystore
keytool.exe -v ^
-importkeystore -srckeystore www.bingco.com.p12 ^
-srcstoretype pkcs12 ^
-destkeystore www.bingco.com.jks ^
-deststoretype jks
>>>>>
jdk不自带密钥导出功能,使用openssl或者代码实现
1.openssl命令导出.crt
openssl pkcs12 -in www.bingco.com.p12 -nokeys -out www.bingco.com.crt
2.openssl命令导出.key
openssl pkcs12 -in www.bingco.com.p12 -nocerts -nodes -out www.bingco.com.key
-----------------------
代码导出
import sun.misc.BASE64Encoder; import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.util.HashMap; public class main { public KeyStore getKeyStore(String keyStorePath, String password) throws Exception {
FileInputStream is = new FileInputStream(keyStorePath);
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(is, password.toCharArray());
is.close();
return ks;
} public PrivateKey getPrivateKey(HashMap<String, String> paramMap) {
try {
BASE64Encoder encoder = new BASE64Encoder();
KeyStore ks = getKeyStore(paramMap.get("path"), paramMap.get("passwd"));
PrivateKey key = (PrivateKey) ks.getKey(paramMap.get("alias"), paramMap.get("passwd").toCharArray());
String encoded = encoder.encode(key.getEncoded());
System.out.println("-----BEGIN RSA PRIVATE KEY-----");
System.out.println(encoded);
System.out.println("-----END RSA PRIVATE KEY-----");
return key;
} catch (Exception e) {
e.printStackTrace();
return null;
}
} public static void main(String[] args) throws Exception {
HashMap<String, String> paramMap = new HashMap<>();
for (String var : args) {
if (var.startsWith("-path")) {
String[] split = var.split("=");
if (split.length != 2) {
throw new RuntimeException("-path 参数定义有误: " + var);
}
paramMap.put("path", split[1]);
}
if (var.startsWith("-alias")) {
String[] split = var.split("=");
if (split.length != 2) {
throw new RuntimeException("-alias 参数定义有误: " + var);
}
paramMap.put("alias", split[1]);
}
if (var.startsWith("-passwd")) {
String[] split = var.split("=");
if (split.length != 2) {
throw new RuntimeException("-passwd 参数定义有误: " + var);
}
paramMap.put("passwd", split[1]);
}
} main exec = new main();
exec.getPrivateKey(paramMap);
}
}
javac main.java
java main -path=./www.bingco.com.keystore -alias=www.bingco.com -passwd=
创建一个文本文件粘贴输出内容。
如: www.bingco.com.key

-- OVER --
个人签发https证书的更多相关文章
- spring boot 自签发https证书
一.使用Jdk自带的工具生成数字证书,如下: Java代码 ./keytool -genkey -v -alias tomcat -keyalg RSA -keystore /root/tomca ...
- 自动签发https证书工具 cert manager
最近cert manager进行升级,不再支持0.11以下的版本了,所以进行升级.但是发现不能直接通过更改镜像版本来升级,在Apps里的版本也是旧版本,部署后发现不支持,于是自已动手,根据文档整理了一 ...
- 一个空行引起的阿里云负载均衡上部署https证书的问题
今天在阿里云上购买了WoSign的https证书,在证书签发后,在控制台下载证书文件,一共有2个文件,一个是.key文件(私钥文件),一个是.pem文件(证书文件). 然后在阿里云负载均衡“证书管理” ...
- 申请https证书需要注意的4大问题
HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL ...
- 如何申请https证书、搭建https网站
如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...
- IIS8中使用OpenSSL来创建CA并且签发SSL证书
前言 [转载]http://alvinhu.com/blog/2013/06/12/creating-a-certificate-authority-and-signing-the-ssl-certi ...
- https证书申请流程和简介
HTTPS证书是什么 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安 ...
- Let's Encrypt,免费好用的 HTTPS 证书
很早之前我就在关注 Let's Encrypt 这个免费.自动化.开放的证书签发服务.它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务,而 ...
- Tomcat9使用免费的Https证书加密网站
1.概述 Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客. 那么在公网中的访问 ...
随机推荐
- 【LOJ】#3093. 「BJOI2019」光线
LOJ#3093. 「BJOI2019」光线 从下到上把两面镜子合成一个 新的镜子是\((\frac{a_{i}a_{i + 1}}{1 - b_{i}b_{i + 1}},b_{i} + \frac ...
- 【Codeforces】600E. Lomsat gelral
Codeforces 600E. Lomsat gelral 学习了一下dsu on tree 所以为啥是dsu而不是dfs on tree??? 这道题先把这棵树轻重链剖分了,然后先处理轻儿子,处理 ...
- 归并排序+归并排序求逆序对(例题P1908)
归并排序(merge sort) 顾名思义,这是一种排序算法,时间复杂度为O(nlogn),时间复杂度上和快排一样 归并排序是分治思想的应用,我们先将n个数不断地二分,最后得到n个长度为1的区间,显然 ...
- DL4J中文文档/Keras模型导入/函数模型
导入Keras函数模型 假设使用Keras的函数API开始定义一个简单的MLP: from keras.models import Model from keras.layers import Den ...
- Web项目测试流程总结
个人知识脑图总结 - 未完全(工作项目脑图总结存于网盘中)
- Java New IO
1.NIO介绍 应用程序中,通常会涉及两种类型的计算:计算密集型和I/O密集型.对多数应用来说,花费在等待IO上的时间是比较大的.因此提高IO操作效率对应用的性能至关重要. 面向流的IO系统一次处理一 ...
- java----FileInputStream类与FileReader类的区别(转)
FileInputStream类与FileReader类的区别:两个类的构造函数的形式和参数都是相同的,参数为File对象或者表示路径的String,它们到底有何区别呢? Readers and W ...
- 【转】CnBlogs自定义博客样式
文章有一个好的排版,将能够增加阅读者对其内容的兴趣. 本文总结了如何美化博客园中文章的部分显示样式. 1.美化文章标题的显示样式 2.增添LaTex数学公式的显示 3.目录索引的显示 4.添加文章末尾 ...
- Golang Gateway API 搭建教程
原文链接 随着微服务的兴起,行业里出现了非常多优秀的微服务网关框架,今天教大家搭建一套国人,用Golang写的微服务网关框架. 这里啰嗦一句,可能到今天还有人不理解什么是微服务,为什么要用微服务.目前 ...
- OGG学习笔记03
OGG学习笔记03-单向复制简单故障处理 环境:参考:OGG学习笔记02-单向复制配置实例实验目的:了解OGG简单故障的基本处理思路. 1. 故障现象故障现象:启动OGG源端的extract进程,da ...