- 浏览: 177113 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (56)
- 算法 (9)
- linux (15)
- oracle (4)
- Project Euler Problem (3)
- 编程珠玑 (2)
- 数学 (1)
- http (1)
- java (19)
- plsql (1)
- apusic (1)
- https (1)
- 备忘 (22)
- 概率 (1)
- EIP (0)
- eclipse (1)
- 安全 (1)
- 公钥体系 (6)
- PKI (2)
- 网络 (2)
- linux,克隆 (0)
- virt-manager (1)
- VMWare (1)
- 克隆 (1)
- logback (1)
- TimeBasedRollingPolicy (0)
- SizeBasedTriggeringPolicy (0)
- properties (1)
- class (1)
- classloader (1)
- netty (1)
- thread dump (1)
- jstack (1)
- jconsole (1)
- java,编码,文件名 (0)
- google (1)
- goagent (1)
- 线程池 (1)
- 博客 (1)
- hexo (1)
- github (1)
- gitcafe (1)
最新评论
-
panhl:
我也实现了一个https://github.com/panho ...
具有相同属性任务串行有序执行的线程池设计 -
fengwei5129:
感谢,最近在看netty源码一直搞不清楚是如何实现的死锁检测, ...
Future机制用于并发编程时的死锁检测 -
OpenMind:
发现IBM JDK的System.nanoTime()没有实现 ...
Java系统时钟几个值得思考的问题 -
lvhongfen:
好了,感谢LZ分享
windows下plsql 设置 里面timestamp显示的格式 -
OpenMind:
今天发现,在linux下还有个很简介的方法查看线程的转储信息, ...
不依赖jstack的java 线程dump和死锁检查工具
下面是java编程方式生成CA证书的代码,使用的是BC的provider。生成CA证书与生成普通证书的区别是:1,生成CA证书时,issuer和subject一致;2,在ContentSigner.build()的时候(签名的时候)使用的是与待签名公钥相应的私钥。
下面代码,CA生成以后把私钥和证书一起以一个key entry的方式存入一个jks文件。
static { Security.addProvider(new BouncyCastleProvider()); } public static void main(String[] args) { try { KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(2048); KeyPair keyPair = kpg.generateKeyPair(); KeyStore store = KeyStore.getInstance("JKS"); store.load(null, null); String issuer = "C=CN,ST=GuangDong,L=Shenzhen,O=Skybility,OU=Cloudbility,CN=Atlas Personal License CA,E=cwjcsu@126.com"; String subject = issuer; //issuer 与 subject相同的证书就是CA证书 Certificate cert = generateV3(issuer, subject, BigInteger.ZERO, new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24), new Date(System.currentTimeMillis() + 1000L * 60 * 60 * 24 * 365 * 32), keyPair.getPublic(),//待签名的公钥 keyPair.getPrivate(), null); store.setKeyEntry("atlas", keyPair.getPrivate(), "atlas".toCharArray(), new Certificate[] { cert }); cert.verify(keyPair.getPublic()); File file = new File("resource/atlas-ca.jks"); if (file.exists() || file.createNewFile()) store.store(new FileOutputStream(file), "atlas".toCharArray()); } catch (Exception e) { e.printStackTrace(); } } public static Certificate generateV3(String issuer, String subject, BigInteger serial, Date notBefore, Date notAfter, PublicKey publicKey, PrivateKey privKey, List<Extension> extensions) throws OperatorCreationException, CertificateException, IOException { X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder( new X500Name(issuer), serial, notBefore, notAfter, new X500Name(subject), publicKey); ContentSigner sigGen = new JcaContentSignerBuilder("SHA1withRSA") .setProvider("BC").build(privKey); //privKey:使用自己的私钥进行签名,CA证书 if (extensions != null) for (Extension ext : extensions) { builder.addExtension(new ASN1ObjectIdentifier(ext.getOid()), ext.isCritical(), ASN1Primitive.fromByteArray(ext.getValue())); } X509CertificateHolder holder = builder.build(sigGen); CertificateFactory cf = CertificateFactory.getInstance("X.509"); InputStream is1 = new ByteArrayInputStream(holder.toASN1Structure() .getEncoded()); X509Certificate theCert = (X509Certificate) cf.generateCertificate(is1); is1.close(); return theCert; } public class Extension { private String oid; private boolean critical; private byte[] value; public String getOid() { return oid; } public byte[] getValue() { return value; } public boolean isCritical() { return critical; } }
发表评论
-
具有相同属性任务串行有序执行的线程池设计
2014-09-04 15:30 1391我有一个这样的线程池的场景,相信很多人都遇到过: 1,每个用 ... -
不依赖jstack的java 线程dump和死锁检查工具
2013-10-08 14:41 2383java线程dump可以使用jdk的命令“jstack ... -
回忆去年用Java破解unity.exe的过程
2013-05-26 00:48 2585去年我一同学要我破解unity.exe,然后挂在网上卖点钱花 ... -
netty做Pipe一端快一端慢时防止内存溢出进行的操作
2013-05-23 17:12 5892前段时间用netty3.x做了 ... -
为什么InputStream.read()读取一个byte确返回一个int呢?
2013-05-09 16:26 5180问题1:为什么InputStream.read()读取一个 ... -
Java系统时钟几个值得思考的问题
2013-04-10 16:48 4558System.currentTimeMillis()是依赖 ... -
logback的SizeBasedTriggeringPolicy和TimeBasedRollingPolicy联合使用问题
2013-04-01 13:37 15176<appender name="FILE& ... -
netty应用分析
2013-03-07 15:54 0用netty 3.5.7做了一个网络程序,c与s之间有一个心 ... -
Java包装类Integer比较
2012-10-18 16:41 10771,用符号==比较两个对象,意味着比较他们是否是统一个对象。 ... -
Future机制用于并发编程时的死锁检测
2012-10-18 14:51 5948Netty源码里面有个类:De ... -
java-在非安全网络上建立可信任安全的通道(2/3)
2012-10-05 19:19 1212在不安全的网络环境下进行密钥交互(1/3,前面那一节),容易遭 ... -
java-在非安全网络上建立可信任安全的通道(1/3)
2012-10-05 18:46 1864看到标题,几乎所有人都会想到SSL,但SSL比较重 ... -
java编程方式用CA给证书进行签名/签发证书
2012-10-05 18:02 11928这些代码首先加载CA证书,然后分别用CA给Alice和Bob签 ... -
安全领域的一些概念
2012-10-05 16:41 1382对称密钥/非对称密钥/key/cipher symmetri ... -
Class.getResourceAsStream
2013-04-06 14:09 977Class.getResourceAsStream(" ... -
findbugs
2012-03-02 16:41 0findbugsfindbugsfindbugsfindbug ... -
并发编程
2012-03-02 16:41 0C:\Users\Sunny\Desktop\docC:\Us ... -
泛型类里面获取到泛型的类型
2012-03-01 10:15 3411下面的代码可以让你在抽象的泛型类里面获取到泛型的类型 ab ... -
java 学习网站大全
2012-02-27 12:02 0http://scjp.home.sohu.com/ 模拟试题 ... -
First JNI
2012-02-13 14:34 763http://hi.baidu.com/fwmf/blog/i ...
相关推荐
网上博客里面的通常的版本,对其进行了些更改并引入了jre6的rt.jar(貌似jre7的不行)使其能够运行
Java实现浏览器CA证书的签名和验证,提高java应用的安全
利用openssl生成CA证书的方法及证书,根据文档可以自己生成证书。
本工具包含windows版本编译好的gmssl.exe(Linux版本需自己编译,命令行是通用的),以及方便签发证书的bat文件,gmssl命令行详细解释。可以用来生成ca证书,并且用ca证书签发用户证书。
对openssl进行二次研发封装通过批处理的方式增加“一键生成CA证书”、“一键生成Server证书”、“一键生成Client证书”等工具。方便研发人员快捷的生成所需各种证书
Javaopenssl调用生成密钥: 所需要的包如下:Umpayopenssl.jar commons-logging-1.0.4.jar ,mpsp_bs3-100406-975.jar, log4j-1.2.14.jar。还有opessl在bin文件 中……
ca证书自动生成脚本,只需修改下脚本内的文件路径等,即可使用,当然,不修改也没问题!
文档包含一篇《openssl生成CA证书过程》及 openssl.cnf、*.key、*.pem、*.csr、*.crt文件共13个文件,按照文档的指导操作可以生成类似的文件。
使用TOMCAT和JDK搭建SSL服务, JAVA获取数字证书项, 如何用OPENSSL签发证书, 支持第三方CA
Apache 配置支持HTTPS的SSL证书-生成CA证书 Apache 配置支持HTTPS的SSL证书-生成CA证书
利用fabric-ca服务生成区块链证书,包含纯命令行和脚本形式
介绍了用Java和0penSsL构建一个小型cA系统的方法。
java 国密算法实现,包含SM2 SM3 SM4和数字签名、数字证书的验证以及相应的说明文档
H3C防火墙生成自带证书方法
提供了建立在普通的通讯层基础上的加密传输层;这些功能为许多网络应用和服务程序所广泛使用。为应用软件提供证书是 OpenSSL 最为常用的功能之一。
CA证书接口用法 CA证书怎么与代码结合
ssl自制全套证书(包含服务器端、客户端、ca端的证书,格式有.crt,.key,.truststore,.keystore,.p12,.cer,.pem等类型),当时要配置webservice接口、tomca、nginx通过ssl访问的证书,弄了好久才生成了一套能使用的。...
本资源是自建的一个CA证书和私钥,可以用于测试https网络安全测试,在服务器端使用此证书配置,终端访问可以实现https访问,其中证书和密钥都是以文件的形式存储,证书的有效期是两年。
OneNet MQTT 接入CA证书