Java数字证书操作】的更多相关文章

为服务器生成证书 keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 为客户端生成证书 keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\client.key.p12 将客户端证书导出为CER文件 keytool -export -alias mykey -keystor…
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法细节),算法产生一个公钥一个私钥,用公钥加密的报 文只能用私钥解密,用私钥加密的报文只能用公钥解密: 对称加密算法:3DES.AES.RC4,加密密钥与解密密钥相同,一般用于只有通讯双方知道密钥的通讯方式: HASH算法:MD5.SHA1.SHA256,由哈希算法计划得到哈希值,加密过程不可逆,由哈…
一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密钥.证书和证书链.Keytool工具的命令在JavaSE6中已经改变,不过以前的命令仍然支持.Keytool也可以用来管理对称加密算法中的密钥. 最简单的命令是生成一个自签名的证书,并把它放到指定的keystore文件中: keytool -genkey -alias tomcat -keyalg…
Android数字证书的作用是非常重要的.Android操作系统每一个应用程序的安装都需要经过这一数字证书的签名. Android手机操作系统作为一款比较流行的开源系统在手机领域占据着举足轻重的地位. 在Android系统中,所有安装到系统的应用程序都必有一个Android数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用…
1 keytool命令总结 一.创建数字证书 交互模式 使用默认的密钥库.keystore(文件夹是c: Documents and Settingusername)和算法(DSA) keytool -genkey 默认的别名mykey 密钥库中能够存放多个条目(公钥/私钥对和证书),它们在密钥库中以别名(alias)区分. [plain] view plaincopy keytool -genkey -alias mytest -keyalg RSA -keysize 1024 -keysto…
一:需要包含的包 import java.security. * ; import java.io. * ; import java.util. * ; import java.security. * ; import java.security.cert. * ; import sun.security.x509. * import java.security.cert.Certificate; import java.security.cert.CertificateFactory; 二:从…
1.数字证书简介 数字证书具备常规加密解密必要的信息,包含签名算法,可用于网络数据加密解密交互,标识网络用户(计算机)身份.数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体.依靠数字证书,我们可以构建一个简单的加密网络应用平台. 数字证书类似于个人身份证,由数字证书颁发认证机构(Certificate Authority, CA)签发.只有经过CA签发的证书在网络中才具备可认证性.CA颁发给自己的证书叫根证书. VeriSign, GeoTrust和Thawte是国…
本文中使用的Base64Utils.java可参考:http://www.cnblogs.com/shindo/p/6346618.html 证书制作方法可参考:http://www.cnblogs.com/shindo/p/6346971.html =========================== 工具类如下:CertificateUtils.java package com.mes.util; import java.io.ByteArrayInputStream; import ja…
数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识. 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密.同时,一般一个密钥加密,另一个密钥就可以解密. 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息.因此,私钥也可以认为是个人身份的证明. 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密. 2.消息摘要…
本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/details/75007189 数字签名:私钥用于签名,公钥用于验证. 数字签名的作用: 验证数据的完整性,认证数据来源,抗否认. 数字签名实现的具体原理:    1. 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要.在数学上保证,只要改动报文中任何一位,重新计算出的报文摘要值就会与…
原文:http://snowolf.iteye.com/blog/391931 请大家在阅读本篇内容时先阅读 Java加密技术(四),预先了解RSA加密算法. 在构建Java代码实现前,我们需要完成证书的制作. 1.生成keyStroe文件 在命令行下执行以下命令: keytool -genkey -validity 36000 -alias www.zlex.org -keyalg RSA -keystore d:\zlex.keystore 其中 -genkey表示生成密钥 -validit…
在前面说到.消息摘要用于验证数据完整性,对称与非对称加密用于保证数据保密性,数据签名用于数据的抗否认性,于是集这些安全手段于一身的终极武器--数字证书出现了.数字证书具备了加密/解密的必要信息.包括签名算法,可用于网络数据加密/解密交互.标识网络用户(计算机)身份.数据证书为公布公钥提供了一种简便途径,成为加密算法以及公钥的载体. 数字证书有多种文件编码格式,主要包括CER编码.DER编码等: a.CER(Canonical Encoding Rules.规范编码格式).是数字证书的一种编码格式…
作者:玄魂出处:博客2010-06-23 12:05 http://winsystem.ctocio.com.cn/19/9492019.shtml .NET为我们提供了操作数字证书的两个主要的类,分为为: System.Security.Cryptography.X509Certificates.X509Certificate2类, 每个这个类的实例可以表示一个证书: System.Security.Cryptography.X509Certificates.X509Store类,可以对保存在…
 C语言操作WINDOWS系统存储区数字证书相关函数详解及实例 以下代码使用C++实现遍历存储区证书及使用UI选择一个证书 --使用CertOpenSystemStore打开证书存储区. --在循环中,使用CertEnumCertificatesInStore.枚举所有存储区中的证书. --使用CryptUIDlgViewContext显示一个证书. --使用CertGetNameString取得证书主题名称. --在循环中,使用CertEnumCertificateContextPropert…
转自:http://blog.sina.com.cn/s/blog_cfee55a70102wn3h.html 1 公钥密码体系(Public-key Cryptography) 公钥密码体系,又称非对称密码体系.它使用二个密钥,一个用于加密信息,另一个用于解密信息. 这二个密钥间满足一定数学关系,以至用二个密钥中的任何一个加密的数据,只能用另外一个进行数据解密.每个用户拥有二个密钥,一个被称之为公钥,另一个被称之为私钥,并将公钥分发给其它用户.由于这二个密钥间的数学关系, 任何收到该用户公钥的…
数字证书 A用私钥加密了,那么B接受到消息后,用A提供的公钥解密:那么现在有个讨厌的C,他把消息拦截了,然后用自己的私钥加密,同时把自己的公钥发给B,并告诉B,那是A的公钥,结果....,这时候就需要一个中间机构出来说话了(相信权威,我是正确的),就出现了Certificate Authority(也即CA),有名的CA机构有Verisign等,目前数字认证的工业标准是:CCITT的X.509:数字证书:它将一个身份标识连同公钥一起进行封装,并由称为认证中心或 CA 的第三方进行数字签名.密钥库…
.NET为我们提供了操作数字证书的两个主要的类,分为为: System.Security.Cryptography.X509Certificates.X509Certificate2类, 每个这个类的实例可以表示一个证书: System.Security.Cryptography.X509Certificates.X509Store类,可以对保存在计算机安全区域内的证书进行add/remove/get操作. 另外我们可以使用System.Security.Cryptography.X509Cer…
Java与数字证书 Java与数字证书 证书的签发和应用 证书的内容和意义 其它 证书(Certificate,也称public-key certificate)是用某种签名算法对某些内容(比如公钥)进行数字签名后得到的.可以用来当成信任关系中介的数字凭证.证书发行机构通过发行证书告知证书使用者或实体其公钥(public-key)以及其它一些辅助信息.证书在电子商务安全交易中有着广泛的应用,证书发行机构也称CA(Certificate Authority). 证书的签发和应用 证书在公钥加密应用…
简介: 数字证书作为网络安全数据传输的凭证,web在传输时客户端(浏览器)和 服务端(服务器)先进行会话握手,在握手过程中服务端会验证客户端的是否已经在服务端做了认证,这是单向认证.如果是双向认证的话,客户端云会校验请求的服务器是否是已认证的安全.当所有的验证通过后,客户端和服务端才会建立安全的连接.这个时候才能保证数据的传输是安全的. 设计方案: 服务器维护一个秘钥库server.jks 并重秘钥库中导出证书 server.cer. 客户端证书,由管理员创建 client.p12 和导出证书…
C#编程总结(十一)数字证书 之前已经通过文章介绍了数字证书的基础知识,包括加密和数字签名. 具体可见: 1.C#编程总结(七)数据加密——附源码 2.C#编程总结(八)数字签名 这里来讲述数字证书的概念.作用.工作原理以及具体应用.希望能够给大家一个清晰的认识. 一.概念 数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证.它是由一个由权威机构-----CA机构,又称为证书授权(Certi…
什么是ssl? secure socket layer(ssl)协议最初由netscape企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准.由于ssl技术已建立到所有主要的浏览器和web服务器程序中,因此,仅需安装数字证书,或服务器证书就可以激活服务器功能了. 什么是服务器证书? 服务器证书是安装在你的web服务器上,你可将服务器证书视为一种可以让访问者利用网页浏览器来验证网站真实身份的数字证明,且可以通过服务器证书进行具有ssl加密…
1.1    数字证书 1.1.1   概念理解 一种文件的名称,例如一个机构或人的签名,能够证明这个机构或人的真实性.简而言之数字证书是一种网络上证明持有者身份的文件,同时还包括有公钥.证书是由国际上公认的证书机构颁发,这些机构是公认的信任机构.要想请这些机构颁发证书是要给钱的.客户端程序通过维护一个“根授信机构列表”,当收到一个证书时,查看这个证书是否在该列表中,如果是则这个证书是可信的,否则就不信任. 1.1.2   证书的信任 作为一个HTTPS的站点需要与一个证书绑定,无论如何,证书总…
原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/21716557 今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些密码学的相关知识,这就是连锁反应吗?好吧不多说了,先来看一下密码学中关于网络中数据传输的知识. 首先来了解一下网络上传输数据的加密方式: 第一种是对称加密:就是…
 签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的.另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第三方覆盖或替换掉.因而APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本. 签名方式 签…
签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的.另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第三方覆盖或替换掉.因而APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本. 签名方式 签名…
  情形一:接口的加.解密与加.验签 rsa不是只有加密解密,除此外还有加签和验签.之前一直误以为加密就是加签,解密就是验签.这是错误的! 正确的理解是: 数据传输的机密性:公钥加密私钥解密是密送,保证消息即使公开也只有私钥持有者能读懂,指的是加密与解密. 身份验证机制:私钥加密公钥解密是签名,保证消息来源是私钥持有者,指的是加签和验签.即数字签名 所以加/解密和加/验签这是两种不同的概念.       即:公加私解,私签公验 注:其实在RSA中公钥和私钥都可以加密或解密,即:1.公加私解,2.…
最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Transfer Protocol)的缩写,也是互联网的基石,互联网绝大部分数据传输都是基于http协议,但是,http本身有个致命的缺点,一个早期并不引人注目,如今不得不重视的缺点,就是明文传输. 当你访问一个http站点,例如http://www.login.com/ 输入用户名与密码,例如admin…
一.Windows数字证书 1. 生成数字证书 1.1 进入[%JAVA_HOME%]路径下 cd D:\Program Files\Java\jdk1.8.0_131 1.2 生成证书.一些命令中红色部分不是必要部分,如果对密钥口令和密钥库口令的概念不是很清楚的最好不要 keytool -genkey -alias hoojjack -keyalg RSA -keypass changeit -storepass changeit -keystore hoojjack.keystore -va…
这个命令一般在JDK\jre\lib\security\目录下操作 keytool常用命令 -alias       产生别名 -keystore    指定密钥库的名称(就像数据库一样的证书库,可以有很多个证书,cacerts这个文件是jre自带的,              你也可以使用其它文件名字,如果没有这个文件名字,它会创建这样一个) -storepass   指定密钥库的密码 -keypass     指定别名条目的密码 -list        显示密钥库中的证书信息 -v    …
今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些密码学的相关知识,这就是连锁反应吗?好吧不多说了,先来看一下密码学中关于网络中数据传输的知识. 首先来了解一下网络上传输数据的加密方式: 第一种是对称加密:就是加密数据的密码和解密数据的密码是相同的.这种方式的优点就是简单,最大的缺点就是不安全,因为加密的密码和解密的密码是相同的,那么加密的人就必须…