- 浏览: 1524384 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
源自:http://www.cnblogs.com/chnking/archive/2007/08/18/860983.html
一、 获得证书... 2
1、 从CA获得... 2
2、 从windows2003证书服务中获得... 2
3、 使用makecert工具获得... 2
二、 证书的保存... 2
1、 保存在证书存储区... 2
2、 以文件形式保存... 4
2.1. 带有私钥的证书... 4
2.2. 二进制编码的证书... 4
2.3. Base64编码的证书... 4
3、 存储区中的证书跟证书文件相互转换... 4
3.1. 使用工具相互转换... 4
3.1.1 从证书文件导入证书存储区... 4
3.1.2 从证书存储区导出为证书文件... 7
3.2. 使用代码相互转换... 10
3.2.1 从证书文件导入证书存储区... 10
3.2.2 从证书存储区导出为证书文件... 11
数字证书(也称作数字证书)将身份绑定到一对可以用来加密和签名数字信息的电子密钥。数字证书能够验证一个人使用给定密钥的权利,这有助于防止有人利用假密钥冒充其他用户。数字证书与加密一起使用,可以提供一个更加完整的解决方案,确保交易中各方的身份。
CA获得
如果是商业应用最好从证书的签发机构CA获得证书,比如VeriSign,这样的大的CA签发的证书已经被一些系统默认为可信任的证书签发机构,它所签发的证书也是被信任的。但是这样的证书需要购买。
如果不是商业应用,这里推荐一个可以免费申请证书的CA:www.cacert.org
windows2003证书服务中获得
在windows2003中安装证书服务器,windows2003服务器即可当做一个小型的CA,可以申请签发证书。
makecert工具获得
微软在framework SDK中提供了一个生成X.509数字证书的命令行工具Makecert.exe。
Makecert生成证书被保存到命令中指定的证书存储区。
比如使用下面这个命令生成一个证书:
makecert -sr CurrentUser -ss My -n CN=MyTestCert -sky exchange -pe
参数说明: -sr CurrentUser -- 指定主题的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine -ss My -- 指定主题的证书存储名称,输出证书即存储在那里。My表示保存在“个人” -n CN=MyTestCert -- 指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,"CN=myName"。 -sky exchange -- 指定颁发者的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。 -pe -- 将所生成的私钥标记为可导出。这样可将私钥包括在证书中。
这个命令生成一个名字为MyTestCert的证书,被保存到了当前用户的个人证书存储区内。
Makecert
命令的详细说明请参看微软Makecert.exe工具的文档:
Makecert命令生成的证书被保存在证书存储区。证书存储区是系统中一个特殊区域,专门用来保存X.509数字证书。
可以在MMC的证书管理单元中对证书存储区进行管理。Windows没有给我们准备好直接的管理证书的入口。自己在MMC中添加,步骤如下:
l 开始 à 运行 à MMC,打开一个空的MMC控制台。
l 在控制台菜单,文件 à 添加/删除管理单元 à 添加按钮 à 选”证书” à 添加 à 选”我的用户账户” à 关闭 à 确定
l 在控制台菜单,文件 à 添加/删除管理单元 à 添加按钮 à 选”证书” à 添加 à 选”计算机账户” à 关闭 à 确定
完成后,在MMC控制台中有了两个MMC管理单元
Figure 1.证书管理
添加完证书管理单元后可以保存一下这个MMC控制台的设置,方便以后再次使用。在文件菜单中选“保存”,比如可以保存为“证书.msc”。
这两个管理单元分别对应证书的两类存储位置:
当前用户(CurrentUser) -- 当前用户使用的 X.509 证书存储区。
本地计算机(LocalMachine) -- 分配给本地计算机的 X.509 证书存储区。
每个存储位置下面的子目录代表证书的存储区,预设了以下存储区:
AddressBook |
其他用户的 X.509 证书存储区。 |
AuthRoot |
第三方证书颁发机构 (CA) 的 X.509 证书存储区。 |
CertificateAuthority |
中间证书颁发机构 (CA) 的 X.509 证书存储区。 |
Disallowed |
吊销的证书的 X.509 证书存储区。 |
My |
个人证书的 X.509 证书存储区。 |
Root |
受信任的根证书颁发机构 (CA) 的 X.509 证书存储区。 |
TrustedPeople |
直接受信任的人和资源的 X.509 证书存储区。 |
TrustedPublisher |
直接受信任的发行者的 X.509 证书存储区。 |
作为文件形式存在的证书一般有这几种格式:
由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。
编码的证书
证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。
Windows提供了内置的工具可以完成数字证书从文件形式导入到证书存储区,从证书存储区导出为证书文件的功能。
在资源管理器中,找到你要导入的证书文件,右键点击pfx或者cer格式的证书(这里以上面用makecert生成的MyTestCert证书为例),选择“安装”,证书导入向导:
Figure 2. 证书导入向导
下一步,显示要导入证书文件的路径,确认即可,再下一步。
如果是导入pfx含有私钥的证书,需要提供密码:
Figure 3. 导入pfx时需要密码
pfx证书含有私钥,在保存为证书文件时设置有私钥密码,以保护私钥的安全,所以这一步需要提供保存证书时设置的私钥密钥。
如果选择了“标识此密钥为可导出”,导入到证书存储区的证书以后还能导出含有私钥的证书,否则只能导出不含私钥的证书。
再下一步,如果是导入cer证书,导入向导开始后就直接到了这一步。
Figure 4. 选择证书存储区
可以根据证书的类型自动存放到合适的区域,也可以自己选择存储区,一般选个人存储区。
导入完成。查看证书管理中证书已经导入:
Figure 5. 查看导入的证书1
双击这个MyTestCert证书:
Figure 6. 查看导入的证书2
这是证书的具体信息,可以看见这个证书包含有私钥。如果导入的是cer证书,证书中不含有私钥的,那么这里不会显示有相应的私钥。
把上面导入到证书存储区的证书再导出为证书文件。
在MyTestCert证书上点击右键 à 所有任务 à 导入…,证书导出向导运行:
Figure 7. 证书导出向导
这里要导出的MyTestCert证书是含有私钥的证书,所以向导首先要求选择导出的证书是否连同私钥一同导出。如果选要导出私钥,下一步:
Figure 8. 含私钥pfx格式证书选项
选择导出含私钥的证书生成pfx格式的证书。这里是些导出pfx证书的选项。
如果选择了不导出私钥或者选择导出的证书本身就不含有私钥,那么这一步只能选不含私钥的证书格式(导入私钥的选项是暗的):
Figure 9. 不含私钥cer格式证书选项
这里是导出不含私钥证书的选项,一般导出为cer证书。
DER编码,就是导出的证书是二进制格式存储的证书。
Base64编码,就是把证书的二进制编码转成base64的编码后存储的证书。
下一步,如果是导出含私钥的证书,需要提供私钥保护密码:
Figure 10. 导出含私钥的证书需要私钥保护密码
下一步,提供证书文件的路径:
Figure 11. 指定导出证书的路径
导出证书完成。
除了使用windows提供的工具交互操作导入或者导出证书,也可以在程序中使用代码进行证书的导入和导出操作,以适应在应用系统中对证书进行操作的需求。
下面通过代码完成上面使用工具导入证书文件,然后把导入的证书导出为证书文件的的同样功能。
l 读取证书放入证书对象
Framework2.0中myX509Certificate2类代表了证书。
//从证书文件载入证书,如果含有私钥的,需要提供保存证书时设置的密码 X509Certificate2 myX509Certificate2 = new X509Certificate2( @"C:\Samples\PartnerAEncryptMsg\MyTestCert.pfx", //证书路径 "password", //证书的私钥保护密码
发表评论
-
客户端用https连接服务器的一点心得
2016-05-11 17:13 534转自:http://dannyyuan.blog.51ct ... -
解决PKIX:unable to find valid certification path to requested target 的问题
2016-05-11 17:11 913转自:http://blog.csdn.net/ ... -
cookie的secure、httponly属性设置
2014-03-04 16:19 17187转载自:http://www.cnblogs ... -
框架注入漏洞
2014-02-27 16:21 73142 详细描述 攻击者有可能注入含有恶 ... -
链接注入漏洞
2014-02-27 16:20 18716详细描述 “链接注入”是修改站点内容的行为,其方式为将外 ... -
XSS跨站脚本攻击在Java开发中防范的方法
2014-02-27 16:14 4206详细描述 跨站脚本攻击(也称为XSS)指利用网站漏洞从用 ... -
XSS跨站脚本攻击在Java开发中防范的方法
2014-02-27 09:48 7776转自:http://hi.baidu.com/hkr_tam ... -
HTTP 1.1状态代码及其含义
2011-10-20 10:16 1471下表显示了常见 ... -
使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据
2010-03-03 17:00 2260上一章节讨论了如何 ... -
使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据
2010-03-03 16:52 2824源自:http://www.cnblogs.com/chnk ... -
X.509 数字证书结构和实例
2010-03-03 16:36 2963源自:http://www.cnblogs.com/chnki ... -
CA基本常识:X.509标准
2010-03-03 16:21 4675原文连接: http://www.cnblogs.com ... -
安全认证相关文档
2010-03-02 15:59 1079PKCS#11 中文手册 -
openssl使用手册
2009-08-04 10:28 7407OpenSSL有两种运行模式 ... -
JA-SIG(CAS)学习笔记1
2009-07-15 01:16 1352实验步骤: STEP 1,搭 ... -
公钥系统_数字签名_数字证书工作原理入门 (转)
2009-02-24 07:27 2139公钥系统 / 数字签名 / 数字证书工作原理入 ... -
详解公钥、私钥、数字证书的概念
2009-02-05 15:59 3430http://pepa.iteye.com/blog/2509 ... -
CA系统、证书常识
2009-02-05 15:58 14881.什么是CA CA是Certi ... -
密钥库文件格式(Keystore)和证书文件格式(Certificate)
2009-02-05 15:56 3230密钥库文件格式【Keystore】 格式 : ... -
java 项目的安全学习地址
2009-02-01 16:07 1492java 项目的安全学习地址: http://www.ja-s ...
相关推荐
X.509标准定义了数字证书的格式,而RSA是一种广泛使用的非对称加密算法。本篇将深入探讨如何在实际应用中结合X.509数字证书与RSA算法来加密解密较长的数据,同时利用对称加密技术提高效率。 首先,X.509数字证书...
**X.509数字证书详解** X.509是一种国际标准,定义了公钥证书的格式,用于在开放的网络环境中验证身份。这个标准由国际电信联盟电信标准部门(ITU-T)的X系列建议制定,编号为X.509。X.509证书是网络安全体系中的...
KeyTool工具生成X.509证书是Java平台自带的一个命令行工具,它主要用于管理和操作密钥对(公钥和私钥)以及数字证书。在本文中,我们将深入探讨KeyTool的基本用法、X.509证书的概念,以及如何使用KeyTool生成这种...
总结,X.509 证书在互联网安全中扮演着至关重要的角色,通过标准化的身份验证和加密机制,为用户提供了一种可靠的方式来保护他们的数据和隐私。理解和正确使用X.509证书对于维护网络安全至关重要。
在IT行业中,X.509证书是一种广泛用于身份验证的标准格式,特别是在网络安全和SSL/TLS协议中。这种证书包含了公钥基础设施(PKI)中的关键信息,如发行者的身份、持有者的身份以及公钥。C语言作为一种底层、高效的...
X.509是一种由国际电信联盟(ITU)制定的标准,用于定义公钥基础设施(PKI)中的数字证书和证书撤销列表(CRL)。本文将深入探讨如何使用Java语言访问X.509格式证书的不同属性,以及这些属性的具体含义。 ### X.509...
X.509 数字证书是一种常用的数字证书格式,用于身份验证和加密通信。在本文中,我们将详细分析 X.509 数字证书的内部结构和编码方式,以帮助读者更好地理解 X.509 格式。 一、X.509 数字证书的编码 X.509 数字证书...
本文将详细探讨如何使用C#实现文件的加密和解密,以及涉及到的相关知识点。 1. **基础概念** - **加密**:加密是一种将明文转换为密文的过程,目的是保护数据不被未经授权的人员读取。常见的加密算法有对称加密...
5. **证书策略和管理**:定义证书的生命周期、使用和撤销规则。 **RFC 2459** RFC 2459文档详细描述了X.509v3证书的结构和语法,包括如何编码证书中的各项信息,以及如何处理可选扩展。此文档为实现PKI系统提供了...
这个C语言源文件可能包含了实现X.509证书中的公钥操作的代码,比如加载证书、解码公钥、验证签名以及使用公钥进行加密和解密等。 6. **安全性**: - 证书应安全存储,防止泄露,私钥尤其需要保护,因为一旦泄露,...
《基于X.509标准的CA数字证书系统的设计与实现》 数字证书在现代网络安全中扮演着至关重要的角色,特别是在公共密钥基础设施(PKI)中。PKI是一种架构,旨在通过认证、授权和加密服务确保网络环境的安全。X.509标准...
综上,基于X.509标准的CA数字证书系统设计与实现是一个复杂而关键的过程,它涉及到身份认证、加密解密、签名验证等多个环节,对于构建安全的网络环境至关重要。通过理解和应用这些知识点,可以有效地提升网络服务的...
bcprov-jdk15是Bouncy Castle针对Java 1.5及更高版本的一个组件,它包含了各种加密功能,如RSA、AES、DES等,以及PKCS#7、X.509证书和SSL/TLS协议的支持。 **bcprov-jdk15on-1.47.jar的内容** bcprov-jdk15on-1.47...
开发者可以使用它来实现基本的加密需求,如加解密、数字签名验证等。 bcprov-ext-jdk15on则是bcprov-jdk15on的一个扩展版,它除了包含bcprov-jdk15on的所有功能外,还额外提供了一些高级特性和非标准算法。比如,...
4. CER(Certificate)文件是X.509证书的标准格式,包含公钥和证书信息,通常是DER编码,一种二进制编码方式。 在Java中,处理这些证书通常涉及以下步骤: 1. 导入证书:使用KeyStore类来管理证书和密钥。`...
X.509是一种用于公钥基础设施(Public Key Infrastructure, PKI)中的数字证书标准,由ITU-T(国际电信联盟电信标准化部门)制定。这种证书包含了公钥持有者的身份信息以及公钥本身的信息,通过CA(Certificate ...
UnSHc, UnSHc如何解密 SHc *.sh.x 加密文件? UnSHcUnSHc - 如何解密 SHc *.sh.x 加密文件?请注意我不会给任何人解密任何文件。 GitHub上的问题只是讨论 Bug 和/或者工具"unshc"的改进。如果你认为你找到了一个 Bug...
X.509证书是公钥基础设施(PKI)中的核心组成部分,用于验证...这个压缩包提供的资源对于理解X.509证书及其在SSL/TLS中的应用具有很高的价值,无论是对个人还是企业,正确管理和使用这些证书都是维护网络安全的关键。