java.security KeyPairGenerator】的更多相关文章

KeyPairGenerator 类用于生成公钥和私钥对.密钥对生成器是使用 getInstance 工厂方法(返回一个给定类的实例的静态方法)构造的. 特定算法的密钥对生成器可以创建能够与此算法一起使用的公钥/私钥对.它还可以将特定于算法的参数与每个生成的密钥关联. 有两种生成密钥对的方式:与算法无关的方式和特定于算法的方式.两种方式的唯一区别在于对象的初始化: 与算法无关的初始化 所有的密钥对生成器遵循密钥大小和随机源的概念.对于不同的算法,密钥大小的解释也不相同(例如,对于 DSA 算法,…
加密服务总是关联到一个特定的算法或类型,它既提供了密码操作(如Digital Signature或MessageDigest),生成或供应所需的加密材料(Key或Parameters)加密操作,也会以一个安全的方式生成数据对象(KeyStore或Certificate),封装(压缩)密钥(可以用于加密操作). Java Security API中,一个engine class就是定义了一种加密服务,不同的engine class提供不同的服务.下面就来看看有哪些engine class: 1)M…
安全性是Java应用程序的非功能性需求的重要组成部分,如同其它的非功能性需求一样,安全性很容易被开发人员所忽略.当然,对于Java EE的开发人员来说,安全性的话题可能没那么陌生,用户认证和授权可能是绝大部分Web应用都有的功能.类似Spring Security这样的框架,也使得开发变得更加简单.本文并不会讨论Web应用的安全性,而是介绍Java安全一些底层和基本的内容. 认证 用户认证是应用安全性的重要组成部分,其目的是确保应用的使用者具有合法的身份. Java安全中使用术语主体(Subje…
前言 和前端进行数据交互时或者和第三方商家对接时,需要对隐私数据进行加密.单向加密,对称加密,非对称加密,其对应的算法也各式各样.java提供了统一的框架来规范(java.security)安全加密这类API.下面将一一介绍 加密算法概念及分类 秘钥生成 摘要算法工具-MessageDigest 签名算法工具-Signature 常用加密工具类-Cipher Certificate-证书的保存 KeyStore-密钥证书的实体类 https证书加载 关注公众号,一起交流:微信搜一搜: 潜行前行…
RSA用私钥签名的时候发现报错,删除以下内容即可 -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher; import java.security.*; import java.security.interfaces.RSAPrivateKey; import java.security.inte…
找到 jre/lib/security/java.security 将 jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 改为 jdk.certpath.disabledAlgorithms=…
Keytool用法说明 Keytool是一个key与cert的管理工具.使用keytool可以管理public key.private key,以及与key之相关的certificate. 1.command和option说明 1.1 command 使用keytool工具时,可以使用15种命令: 1.2 option Option是命令的参数,要了解某个命令的参数可以使用keytool –command_name –help来获取.例如:使用keytool –genkeypair –help可…
Java API中有很多都使用了SecurityManager,这到底是什么玩意?最近看公司的产品的源码,也有不少SecurityManager.AccessControlContext等相关的代码,只是知道它们与安全有关,但是它们到底是怎么一回事呢?Spring也有一个Security框架,与Java Security有什么关联呢?另外有经验的开发人员调试程序时可能会查看ProtectionDomain.CodeSource,这两者又是什么呢? Java Sandbox 提到Java Secu…
程序代码 // 设置加密模式为AES的CBC模式 Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKeySpec keySpec = new SecretKeySpec(aesKey, "AES"); IvParameterSpec iv = new IvParameterSpec(aesKey, 0, 16); cipher.init(Cipher.ENCRYPT_MODE, keySp…
来自:http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters I had asked a question about this earlier, but it didn't get answered right and led nowhere. So I've clarified few details on the problem and I would r…
找到 jre/lib/security/java.security 将 jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 改为 jdk.certpath.disabledAlgorithms=…
MD5加密算法,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2.MD3.MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的.MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式,关键之处在于——这种"压缩"是不可逆的. Java JDK已经自带了MD5的实…
利用java.security对字符串进行MD5加密: import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5 { public static final String MD5CODE = ""; private static MessageDigest messageDigest = null; public static String En…
依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * CiphertextUtil * * @author ysj */ public class CiphertextUtil { public static final String MD5 = "MD5"; p…
原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于${…
错误信息: 信息: Dynamically creating response wrapper bean Class com.potevio.ws.jaxws.DealReqResponse Exception in thread "main" javax.xml.ws.WebServiceException: Unable to create JAXBContext at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.creat…
今天遇到一个奇怪的问题. 自己做的加签验签功能已经没有问题了,本地测试通过,同事放到服务器上测试也没问题. 然后我将包放到自己搭建的环境上,会报这样一个错误: java.security.InvalidKeyException: Illegal key size 然后就各种百度. 原来是jdk不兼容的问题,我本地以及同事的测试环境都是jdk1.7,而我搭建的环境用的是jdk1.8 解决方案如下: 处理办法: 在官方网站下载JCE无限制权限策略文件 JDK7的下载地址: http://www.or…
报错信息 javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints 原因: JDK7/8后添加了安全机制,导致这个问题出现 解决方案: 方案一: 把$JAVA_HOME/jre/lib/security/java.security 文件里的jdk.certpath.disabledAlgor…
package com.easycare.store.util; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.apache.h…
项目中遇到的获取https的数据接口数据时,Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty 报错,网上搜索后说是证书问题,解决办法大多都是说的往Java中添加相关证书: 然后这个问题,让我想起了以前遇到的一个类似报错,都是访问https请求报错,也是类似的缺少证书问题,于是找了下以前写的代码,当时的解决方法是忽略安全证书…
Java实现AES加密,抛出异常如下:java.security.InvalidKeyException: Illegal key size 代码参考 http://my.oschina.net/Jacker/blog/86383?fromerr=x3l5xL1a 原因: Illegal key size or default parameters 是指密钥长度受限制, java运行时环境读到的是受限的policy文件. policy文件位于${java_home}/jre/lib/securi…
目录 问题来了 问题分析 解决问题 重新安装服务器端证书 日志带来曙光 刨根到底 总结 附录 tomcat的SSL配置 服务器端证书配置 Keytool命令常用参数 问题来了 昨天,我还在我的工位上愉快的敲的代码,有位开发组的同事Z给我发消息. 开发组同事Z:大哥,这个PKI的登录功能是你做的吗? 我:是呀!N年前的事了... 开发组同事Z:PKI登录功能出问题了!有位客户使用他的PKI登录我们做的系统,登录时报错,换了几台电脑也不行.但是他使用他的PKI能登录其他的系统.能帮忙看一下吗,我找过…
How to remove the key size restriction in Java JDK? Are you developing your beautiful application using the Java Cryptography Extension, and using a key length of more than 128 bits you encounter the following error? Caused by: java.security.InvalidK…
在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026) at javax.crypto.Cipher.implInit(Cipher.java:801) at javax.crypto.Cipher.chooseProvider(Cip…
本机部署没问题,部署到linux服务器报错: javax.net.ssl.SSLException: java.security.ProviderException: java.security.KeyException at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916) at sun.securit…
支付中心Project重构完成,经过本地测试,并未发现问题.发布到测试环境后,测试发现请求光大扫码https接口时,出现了如下的异常: javax.net.ssl.SSLException: Server key at sun.security.ssl.Handshaker.throwSSLException(Handshaker.java:1202) ~[na:1.7.0_65] at sun.security.ssl.ClientHandshaker.processMessage(Clien…
异常信息 Caused by: Java.lang.IllegalStateException: Unable to acquire AES algorithm. This is required to function. at org.apache.shiro.crypto.AbstractSymmetricCipherService.generateNewKey(AbstractSymmetricCipherService.java:) at org.apache.shiro.crypto.…
时候,我们需要产生一个数据,这个数据保存了用户的信息,但加密后仍然有可能被人使用,即便他人不确切的了解详细信息... 好比,我们在上网的时候,很多网页都会有一个信息,是否保存登录信息,以便下次可以直接登录而不必再次输入账户,密码等...而通常这样需要Cookie保存用户信息,当然,这个信息是加密信息,且一般都加了时间戳等验证信息的... 登陆时,读取cookie,解析cookie的信息,以及如时间戳等附加信息.如果没有时间戳...那么任何人只要有这个cookie,复制cookie到他的电脑中,然…
我们知道,编程中数据的传输,保存,为了考虑安全性的问题,需要将数据进行加密.我们拿数据库做例子.如果一个用户注册系统的数据库,没有对用户的信息进行保存,如,我去页面注册,输入"Vicky","123456".注册.web服务器未对数据进行加密而直接写入数据库,那么数据库中的用户信息,便是一个直接可用的数据!一旦服务器服务器被黑~那么用户的信息将毫无保留的展现在黑客面前...为了解决这个弊端,现在大多数都会将信息进行MD5加密.如"Vicky"与&…
https与http不同的是,https加密,需要验证证书,而http不需要. 在连接的代码中加上: static { disableSslVerification(); } private static void disableSslVerification() { try { // Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustM…