杂谈X509证书, Java Keystore与Jetty】的更多相关文章

很多人对JSSE组成部分的Key Tool 工具不太明白,希望本文能有帮助 科班出身的同学应该学过课程“密码学”, 这门课详细解释了现代对称加密的算法原理, 当时学的我云里雾里. 直到现在使用过SSL加密才知道工程上用法是这样的, 老师讲的时候就不能带一点工程实践吗? 简单来说,对称加密体系就是我有一段需要加密的字符, 我用私钥加密之后变成了无意义的密文, 只有用配对的公钥才能对这个密文进行解密还原回来. 下图是个简单的示意,注意由于公私钥是配对的,一般给信息加密的人持有此密钥对. 这套机制可以…
openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用java代码,原生创建证书,其实需要我们了解的内容就要稍微多点,去填充创建证书里面的所需要的参数,逐行填充. openssl证书的格式默认是PEM的,即Privacy Enhanced Mail,说白了,就是将创建后的证书元素数据经过Base64编码,然后添加类似----BEGIN CERTIFIC…
这篇帖子,不会过多解释X509证书的基础理论知识,也不会介绍太多SSL/TLS的基本信息,重点介绍如何用java实现SSL协议需要的X509规范的证书. 之前的博文,介绍过用openssl创建证书,并配合EMQ进行发布订阅的工作逻辑,基于openssl创建证书和秘钥,还算是比较简便的,然后,基于java创建证书的过程,就有些许的小不方便,能找到的公开资料并不是太多,看到的都是基于keytool指令进行构建的介绍,但是呢,这种方案,对于我们的物联网安全应用,似乎不是很和谐.于是,啃了一段时间的ja…
什么是证书 X.509证书,其核心是根据RFC 5280编码或数字签名的数字文档.    实际上,术语X.509证书通常指的是IETF的PKIX证书和X.509 v3证书标准的CRL 文件,即如RFC 5280(通常称为PKIX for Public Key Infrastructure(X.509))中规定的. 证书虽然与密钥用存储的文件格式一样,都是pem或者der等,但是,证书不是密钥,证书包含公钥以及签名,拥有人等相关信息. 证书格式: pem格式 最普通的证书格式,以-----BEGI…
在JSSE中,证书信任管理器类就是实现了接口X509TrustManager的类.我们可以自己实现该接口,让它信任我们指定的证书. 接口X509TrustManager有下述三个公有的方法需要我们实现: ⑴ oid checkClientTrusted(X509Certificate[] chain, String authType)throws CertificateException 该方法检查客户端的证书,若不信任该证书则抛出异常.由于我们不需要对客户端进行认证,因此我们只需要执行默认的信…
XP机器上WCF采用X509证书加密时IIS读取证书的授权 XP下的授权命令为:winhttpcertcfg -g -c LOCAL_MACHINE\My -s 证书名称 -a "ASPNET" 如为2003的机器,授权命令为:winhttpcertcfg -g -c LOCAL_MACHINE\My -s 证书名称 -a "NETWORK SERVICE" winhttpcertcfg.exe程序需要在微软网站上下载.…
X509证书介绍X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密.今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的.…
SKID(证书使用者密钥标识符,subject key identifier 的简称)和 AKID(证书颁发机构密钥标识符,authority key identifier 的简称)是 X509 证书中常见的扩展字段. 下图是一张典型的证书文件(test.der),其中就包含 SKID 和 AKID 字段. 它们是做什么用的?简言之,这两个字段用于(通过 subject 和 issuer)快速区分证书. 数字证书使用已经很广泛,理论上多本证书可能具有相同的 subject name,该如何区分这…
原文在 http://bbs.pediy.com/archive/index.php?t-97663.html,但是觉得这篇文章非常好,我抄下来作我笔记用 一.解析X509证书 1.从磁盘上的证书文件中读取证书数据 unsigned char* pbX509Data; // 证书数据 unsigned long ulX509DataLen; // 证书数据长度 2.获取CertContext PCCERT_CONTEXT pCertContext = CertCreateCertificateC…
http://www.javacodegeeks.com/2014/07/java-keystore-tutorial.html Table Of Contents 1. Introduction 2. SSL and how it works 3. Private Keys 4. Public Certificates 5. Root Certificates 6. Certificate Authorities 7. Certificate Chain 8. Keystore using J…
在Windows平台下.假设要解析一个X509证书文件,最直接的办法是使用微软的CryptoAPI. 可是在非Windows平台下,就仅仅能使用强大的开源跨平台库OpenSSL了.一个X509证书通过OpenSSL解码之后,得到一个X509类型的结构体指针. 通过该结构体,我们就能够获取想要的证书项和属性等. X509证书文件,依据封装的不同.主要有下面三种类型: *.cer:单个X509证书文件,不私钥,能够是二进制和Base64格式.该类型的证书最常见: *.p7b:PKCS#7格式的证书链…
X509证书介绍X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密.今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的.…
利用openssl完成X509证书和PFX证书之间的互转 # OpenSSL的下载与安装: 1.下载地址: 官方网址—— https://www.openssl.org/source/ OpenSSL for Windows —— http://gnuwin32.sourceforge.net/packages/openssl.htm 2.安装:此处已OpenSSL for Windows为例 * 点击openssl-0.9.8h-1-setup.exe 进行安装: * 添加环境变量:path…
openssl解析国密X509证书,把公钥拿出来重写一下就行了        x = strToX509(pbCert, pulCertLen);dwRet = getCertPubKey(x, &pRSAPubKeyBlob, &pECCPubKeyBlob);ECCPUBLICKEYBLOB  pec = { 0 };//目标公钥pec.BitLen = 256;int i = 0;for (i = 0; i < 64; i++){if (i <= 31){pec.XCoo…
WCF如何使用X509证书 如何创建证书: makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangServer -sky exchange -pe     (服务端证书) makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangClient -sky exchange -pe      (客户端证书) makecert-sr localmachine -ss My -n CN=wcf…
接触WCF时间比较短,在项目中要使用X509证书,纠结好几天终于有了结论,因此为了方便日后查阅和园友交流特意单独将部分代码提出,并做以记录. 1.准备工作 制作X509证书,此处用到三个证书名称 导入证书步骤: 第一步:运行mmc 打开控制台,添加证书 将证书导入,再设置证书的读取权限 2.方便阅读下文,先展示下代码整体结构 3.编写服务代码(WcfSite工程下) 服务一: public class HelloService : IHelloService { public string Do…
1.x509证书制作(略) 2.直接贴代码 ----------------------------------------------------------------------服务端------------------------------------------------------------------------------------------- WCF服务 using System; using System.Collections.Generic; using Sys…
如何创建证书: makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangServer -sky exchange -pe     (服务端证书) makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangClient -sky exchange -pe      (客户端证书) 各种参数的介绍 属性解析 -sr 指定的证书存储区中的注册表位置.  currentUser  指定注册版存储…
微软的CryptoAPI提供了一套解码X509证书的函数,一个X509证书解码之后,得到一个PCCERT_CONTEXT类型的结构体指针. 通过该结构体,我们就能够获取想要的证书项和属性等. X509证书文件,依据封装的不同,主要有下面三种类型: *.cer:单个X509证书文件,不私钥.能够是二进制和Base64格式.该类型的证书最常见: *.p7b:PKCS#7格式的证书链文件,包括一个或多个X509证书,不含私钥.通常从CA中心申请RSA证书时,返回的签名证书就是p7b格式的证书文件. *…
X509证书是需要买的,自己建的证书不会被浏览器认可,会弹出提示安全不受保障的页面. 学习一下如何建,实际用到还是要买. 打开vs2015开发员人员命令提示 输入创建证书的命令 Makecert.exe -sr localmachine -ss My -n CN=SRCA -sky exchange -pe –r //上面的CN=后面的单词就是证书的名字 窗口返回成功就表示好了 打开MMC 4.文件->添加/删除管理单元->倒数第三个"证书"选中 选择计算机账户 一路确定回…
在之前的文章"通过OpenSSL解码X509证书文件"里.讲述了怎样使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法. 以下我们接着讲述怎样通过证书上下文结构体X509,获得想要的证书项. 本文先讲述怎样获取证书的基本项,后面还有文章介绍怎样获取证书的扩展项. 以下的代码,都是假定已经通过解码证书文件.得到了证书上下文结构体X509.至于怎样使用OpenSSL解码证书文件.得到证书上下文结构体X509.请阅读之前的文章. 首先,我们看看关于证书结构体X509定义:…
Openssl的相关使用 生成证书 生成证书见:使用 openssl 生成证书 代码实现 Cert.h #ifndef _CERT_H #define _CERT_H ///header files #include <stdio.h> #include <string.h> #include <openssl\rsa.h> #include <openssl\pem.h> #include <openssl\evp.h> #include &l…
利用makecert.exe工具生成的X509证书在winform程序中运行正常,但是给部署在IIS中的应用程序用却获取不到证书信息,返回为空.原因是,iis没有权限读取位于证书存储区的X509证书,需要授权才可以. 授权方式:需要借助微软提供的winhttpcertcfg工具,去网上下载并安装,安装完成后会在本地路径下看到这个工具: 该工具使用语法:winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "证书名称" -a "IIS程序池标识&qu…
keytool 错误: java.io.IOException: Keystore was tampered with, or  password was incorrect   在进行证书相关操作,如更新.删除.导入时,需要输入保护密码,默认的是changeit,输入即可,而不是生成证书时自己设置的.     生成证书: 导出证书,此时输入生成证书时设置的密码:…
直接通过流去获取pxf后缀文件的内容,指纹通过X509才能获取.String keyStorefile = "pfx文件地址";String strPassword = "密码";如果只需要获得pxf的公钥或者私钥 1 try { 2 FileInputStream fis = new FileInputStream("pxf文件地址"); 3 //密码处理 strPassword=密码 4 char[] nPassword = null; 5…
1.生成keyStore文件 在命令行下执行以下命令: Shell代码 收藏代码 keytool -genkey -validity 36000 -alias www.zlex.org -keyalg RSA -keystore d:\zlex.keystore 其中 -genkey表示生成密钥 -validity指定证书有效期,这里是36000天 -alias指定别名,这里是www.zlex.org -keyalg指定算法,这里是RSA -keystore指定存储位置,这里是d:\zlex.k…
JAVA有一个keystore用来存放私钥和证书,该文件是伴随JDK默认存在的,路径默认是/lib/security/cacerts,默认密码是changeit,实际上空密码也可以直接访问 其中cacerts就是上面说的keystore 我们使用命令keytool -list -rfc -keystore cacerts来列出其中的内容 -list -rfc 这些参数的意思可以参考下图 在乐山的时候,我们的代码曾经在测试环境报过一个错误 我们代码报这个错,是在KeyProvider这个bean实…
java https://my.oschina.net/u/555639/blog/524821   AIR p12转keystore证书签名apk 2014年01月03日 ⁄ 移动探索 ⁄ 评论数 1 需求背景:向平台提交apk时提示该id已经存在,需要应用认领,可以认领的方式是使用java的keystore对平台提供的空白为签名apk进行签名上传验证,我们知道使用AIR开发的apk,所用的证书是p12的,如果进行签名认证呢? 猜想一:试图将p12证书直接转成keystore,各种找资料,耗时…
最近在做Docker相关的东西,发现只要一pull镜像,就出现如下的ERROR x509: certificate signed by unknown authority. 调查后发现,是公司IT把https证书换成了公司的证书(目的大家自己猜). 解决思路:把替换后的证书直接用openssl拉下来,然后加入到系统(我是Ubuntu)系统证书中,然后使用update-ca-certificates更新,最后重启docker服务,成功!! 方式1: >/dev/null | sed -ne '/-…
1.生成keyStore文件 在命令行下执行以下命令: Shell代码 收藏代码 keytool -genkey -validity 36000 -alias www.zlex.org -keyalg RSA -keystore d:\zlex.keystore 其中 -genkey表示生成密钥 -validity指定证书有效期,这里是36000天 -alias指定别名,这里是www.zlex.org -keyalg指定算法,这里是RSA -keystore指定存储位置,这里是d:\zlex.k…