背景 生成数字证书用于PDF文档数字签名 数字证书需要考虑环境兼容性,如linux.windows 网上资料不全或版本多样 本文章主要介绍了在C#中使用BouncyCastle生成PKCS#12个人信息交换语法标准的pfx证书.cer证书,旨在引导大家了解非对称加密算法,快速.轻松的使用证书对文本进行加密.解密,额外提供了RSAHelper类,包含加密.解密.签名.验签函数,支持无限长度.分段加解密,如有错误.欢迎留言指正: pfx证书:含有公钥.私钥 cer证书:只含有公钥 非对称加密算法:常…
简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料版本不一.或不全面 .NET官方库密码算法提供不全面,很难针对其他语言(Java)进行适配 本系列文章主要介绍如何在 .NET Core 中使用非对称加密算法.编码算法.消息摘要算法.签名算法.对称加密算法.国密算法等一系列算法,如有错误之处,还请大家批评指正. 本系列文章旨在引导大家能快速.轻松的…
一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密钥.证书和证书链.Keytool工具的命令在JavaSE6中已经改变,不过以前的命令仍然支持.Keytool也可以用来管理对称加密算法中的密钥. 最简单的命令是生成一个自签名的证书,并把它放到指定的keystore文件中: keytool -genkey -alias tomcat -keyalg…
数字证书 对于一个安全的通信,应该有以下特征: 完整性:消息在传输过程中未被篡改 身份验证:确认消息发送者的身份 不可否认:消息的发送者无法否认自己发送了信息 显然,数字签名和消息认证码是不符合要求的,这里就需要数字证书来解决其弊端. 数字证书(digital certificate)又称公开密钥认证 PKC(英语:Public key certificate).是在互联网通信中,方式数字签名的秘钥被篡改,是用来证明公开密钥拥有者的身份.此文件包含了公钥信息.拥有者身份信息(主体).以及数字证书…
RT,在C#中实现,依赖.netFramework2.0 BouncyCastle中提供了PKCS12Store,Pkcs12StoreBuilder,AsymmetricKeyEntry,X509CertificateEntry等接口 其中Pkcs12StoreBuilder建立一个PKCS12Store对象,PKCS12Store对象来产生一个pfx/p12格式的证书,该证书符合PKCS#12规范 PKCS#12的ref,见RSA给出的文档:PKCS #12: Personal Inform…
简介: 数字证书作为网络安全数据传输的凭证,web在传输时客户端(浏览器)和 服务端(服务器)先进行会话握手,在握手过程中服务端会验证客户端的是否已经在服务端做了认证,这是单向认证.如果是双向认证的话,客户端云会校验请求的服务器是否是已认证的安全.当所有的验证通过后,客户端和服务端才会建立安全的连接.这个时候才能保证数据的传输是安全的. 设计方案: 服务器维护一个秘钥库server.jks 并重秘钥库中导出证书 server.cer. 客户端证书,由管理员创建 client.p12 和导出证书…
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法细节),算法产生一个公钥一个私钥,用公钥加密的报 文只能用私钥解密,用私钥加密的报文只能用公钥解密: 对称加密算法:3DES.AES.RC4,加密密钥与解密密钥相同,一般用于只有通讯双方知道密钥的通讯方式: HASH算法:MD5.SHA1.SHA256,由哈希算法计划得到哈希值,加密过程不可逆,由哈…
JDK(keytool.exe)生成数字证书 2010-11-21 15:52 QUOTE: keytool JAVA是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.它还允许用户储存他们的通信对等者的公钥(以证书形式).通过keytool –help查看其用法,详细信息可以参考http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keyt…
一.制作数字证书  因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至jdk的bin目录下,执行“keytool -genkey -alias test -keyalg RSA -keysize 1024 -keystore test.jks -validity 365”,弹出如下界面 3.设置JKS的密码为“123456”,并确认密码: 4.输入“名字”.“单位名称…
http://blog.csdn.net/cuiran/article/details/7816696 数字证书介绍 一.什么是数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中 的身份证.它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authorit y)中心发行的,人们可以在网上用它来识别对方的身份.数字证书是一个经证书授权 中心数字签名的包含公开密钥拥有…