【Java】Java与数字证书】的更多相关文章

在前面说到.消息摘要用于验证数据完整性,对称与非对称加密用于保证数据保密性,数据签名用于数据的抗否认性,于是集这些安全手段于一身的终极武器--数字证书出现了.数字证书具备了加密/解密的必要信息.包括签名算法,可用于网络数据加密/解密交互.标识网络用户(计算机)身份.数据证书为公布公钥提供了一种简便途径,成为加密算法以及公钥的载体. 数字证书有多种文件编码格式,主要包括CER编码.DER编码等: a.CER(Canonical Encoding Rules.规范编码格式).是数字证书的一种编码格式…
一:需要包含的包 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是国…
1 keytool命令总结 一.创建数字证书 交互模式 使用默认的密钥库.keystore(文件夹是c: Documents and Settingusername)和算法(DSA) keytool -genkey 默认的别名mykey 密钥库中能够存放多个条目(公钥/私钥对和证书),它们在密钥库中以别名(alias)区分. [plain] view plaincopy keytool -genkey -alias mytest -keyalg RSA -keysize 1024 -keysto…
本文中使用的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…
数字证书 A用私钥加密了,那么B接受到消息后,用A提供的公钥解密:那么现在有个讨厌的C,他把消息拦截了,然后用自己的私钥加密,同时把自己的公钥发给B,并告诉B,那是A的公钥,结果....,这时候就需要一个中间机构出来说话了(相信权威,我是正确的),就出现了Certificate Authority(也即CA),有名的CA机构有Verisign等,目前数字认证的工业标准是:CCITT的X.509:数字证书:它将一个身份标识连同公钥一起进行封装,并由称为认证中心或 CA 的第三方进行数字签名.密钥库…
数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识. 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密.同时,一般一个密钥加密,另一个密钥就可以解密. 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息.因此,私钥也可以认为是个人身份的证明. 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密. 2.消息摘要…
本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/details/75007189 数字签名:私钥用于签名,公钥用于验证. 数字签名的作用: 验证数据的完整性,认证数据来源,抗否认. 数字签名实现的具体原理:    1. 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要.在数学上保证,只要改动报文中任何一位,重新计算出的报文摘要值就会与…
Java与数字证书 Java与数字证书 证书的签发和应用 证书的内容和意义 其它 证书(Certificate,也称public-key certificate)是用某种签名算法对某些内容(比如公钥)进行数字签名后得到的.可以用来当成信任关系中介的数字凭证.证书发行机构通过发行证书告知证书使用者或实体其公钥(public-key)以及其它一些辅助信息.证书在电子商务安全交易中有着广泛的应用,证书发行机构也称CA(Certificate Authority). 证书的签发和应用 证书在公钥加密应用…
原文: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…
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法细节),算法产生一个公钥一个私钥,用公钥加密的报 文只能用私钥解密,用私钥加密的报文只能用公钥解密: 对称加密算法:3DES.AES.RC4,加密密钥与解密密钥相同,一般用于只有通讯双方知道密钥的通讯方式: HASH算法:MD5.SHA1.SHA256,由哈希算法计划得到哈希值,加密过程不可逆,由哈…
简介: 数字证书作为网络安全数据传输的凭证,web在传输时客户端(浏览器)和 服务端(服务器)先进行会话握手,在握手过程中服务端会验证客户端的是否已经在服务端做了认证,这是单向认证.如果是双向认证的话,客户端云会校验请求的服务器是否是已认证的安全.当所有的验证通过后,客户端和服务端才会建立安全的连接.这个时候才能保证数据的传输是安全的. 设计方案: 服务器维护一个秘钥库server.jks 并重秘钥库中导出证书 server.cer. 客户端证书,由管理员创建 client.p12 和导出证书…
一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader;…
六月 30, 2016 5:47:47 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions信息: Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]六月 30, 2016 5:47:47 下午 org.springf…
最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输出乘法表(代码练习).希望能给一些初学者一点点的启发.注释写的比较啰嗦,嘻嘻~ 因为博客园有要求"少于150字的随笔不允许发布到首页候选区",所以,凑几行字啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 //作者:我 //功能:九九乘法表 //时间:…
openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用java代码,原生创建证书,其实需要我们了解的内容就要稍微多点,去填充创建证书里面的所需要的参数,逐行填充. openssl证书的格式默认是PEM的,即Privacy Enhanced Mail,说白了,就是将创建后的证书元素数据经过Base64编码,然后添加类似----BEGIN CERTIFIC…
做这个应用,源于突然的一个想法:看到发票上面的数字要转换成汉语中人民币的大写 于是就有了下面的这些事儿..... 先看看运行效果: ====================================================== 代码部分 ====================================================== package com.b510.number2char; import java.math.BigDecimal; /** * 数字转换…
java实现https免证书认证   解决方法: 1.下载两个包,httpclient-4.2.jar和httpcore-4.2.jar,复制以下代码就可使用. 2.调用类代码: String httpOrgCreateTest = "https://url"; Map<String,Object> createMap = new HashMap<String,Object>(); createMap.put("name","888…
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中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些密码学的相关知识,这就是连锁反应吗?好吧不多说了,先来看一下密码学中关于网络中数据传输的知识. 首先来了解一下网络上传输数据的加密方式: 第一种是对称加密:就是…
主流数字证书都有哪些格式? 一般来说,主流的Web服务软件,通常都基于两种基础密码库:OpenSSL和Java. Tomcat.Weblogic.JBoss等,使用Java提供的密码库.通过Java的Keytool工具,生成Java Keystore(JKS)格式的证书文件. Apache.Nginx等,使用OpenSSL提供的密码库,生成PEM.KEY.CRT等格式的证书文件. 此外,IBM的产品,如Websphere.IBM Http Server(IHS)等,使用IBM产品自带的iKeym…
 签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的.另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第三方覆盖或替换掉.因而APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本. 签名方式 签…
原文地址:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.KEY.CSR.CRT.CRL .OCSP.SCEP等. PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式.Openssl 中的 PEM 文件一般包含如下信息: 内容类型:表明本文件存放的是什么信息内容…
签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的.另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第三方覆盖或替换掉.因而APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本. 签名方式 签名…
http://my.oschina.net/frankies/blog/344914 J2SDK提供了keytool命令行工具,可以根据指定的参数来创建数字证书.生成的证书或证书库默认保存在命令行当前目录下. 1. 创建数字证书  ? 1 keytool -genkey -v -alias scent -dname "CN=John,OU=MNG,O=Corp,L=Hangzhou,ST=Zhejiang,C=CN" -keyalg RSA -keysize 2048 -keypass…
1.  HTTPS 1.1. 什么是HTTPS HTTPS(HypertextTransfer Protocol Secure)即安全的HTTP.HTTPS的安全基础是安全套接层(Secure Sockets Layer,SSL).HTTP工作在应用层(OSI模型的最高层),SSL协议工作在一个较低的子层,位于TCP/IP协议和HTTP协议之间.在HTTP报文传输前对其加密,并在到达时对其解密.严格地讲,HTTPS并不是一个单独的协议,而是工作在SSL协议上的HTTP协议. TLS对SSL进行了…
Android数字证书的作用是非常重要的.Android操作系统每一个应用程序的安装都需要经过这一数字证书的签名. Android手机操作系统作为一款比较流行的开源系统在手机领域占据着举足轻重的地位. 在Android系统中,所有安装到系统的应用程序都必有一个Android数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用…
  情形一:接口的加.解密与加.验签 rsa不是只有加密解密,除此外还有加签和验签.之前一直误以为加密就是加签,解密就是验签.这是错误的! 正确的理解是: 数据传输的机密性:公钥加密私钥解密是密送,保证消息即使公开也只有私钥持有者能读懂,指的是加密与解密. 身份验证机制:私钥加密公钥解密是签名,保证消息来源是私钥持有者,指的是加签和验签.即数字签名 所以加/解密和加/验签这是两种不同的概念.       即:公加私解,私签公验 注:其实在RSA中公钥和私钥都可以加密或解密,即:1.公加私解,2.…