问题标签 [jce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bouncycastle - 在带有 JDK 6 的 Ubuntu Server 10.04 上安装 JCE
我一直在研究密码学并且遇到了一些问题。我总是得到这个例外。
java.io.IOException:异常解密数据 - java.security.InvalidKeyException:org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(未知来源)的 org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(未知来源)的非法密钥大小)
搜索 google 发现需要一个 JCE Unlimited Policy File。当你下载它时,安装说明说唯一需要做的就是将两个 jar 文件复制到 JRE 的 /security/ 文件夹中。好吧,这不起作用,我搜索了我机器的所有目录以找到任何其他 java 安装,但我没有找到。我仔细检查了文件是否正确
一些信息:
java -version 报告:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02,混合模式,共享)
我已经使用 apt-get install sun-java6 安装了这个 Java 版本
对此有什么想法吗?
java - 无法为 com.adobe.adept.client.XMLUtil 的受信任 CA 设置证书
我有下一个例外::
它在线上发生:
我尝试了下一个解决方案: - NoSuchAlgorithmException:算法 HmacSHA1 不可用- 我的本地 java.security 文件处于实际状态
- https://forums.oracle.com/forums/thread.jspa?threadID=316839
可能有人有其他想法吗?
ssl - Java 7 无法生成 DH 密钥对
我阅读了一篇关于当服务器发送超过 1024 位的密钥时触发的错误“无法生成 DH 密钥对”的帖子。下载 JCE 无限制的 jar 应该可以解决这个问题。在测试环境中,我遇到了以下问题,对于同一 Web 服务器,如果我使用 Java 6,则在执行 https 查询时不会出现任何错误,但如果我使用 Java 7,则会出现“无法生成 DH 密钥对”。
我尝试替换 JCE 无限的 jar 文件,但仍然得到相同的错误。自 2007 年以来报告了该错误,但为什么它在 Java 6 上运行而不在 Java 7 上运行?要下载的文件不正确吗?我从上一篇文章Java 中获得了链接:为什么 SSL 握手会给出“无法生成 DH 密钥对”异常?.
在这一点上,我不知道该怎么办。如果我尝试加载 BouncyCastle 提供程序,我会收到 ArrayOutOfIndex 异常。我的服务器只允许 DH 算法,所以我不能使用上面帖子中建议的其他算法。
java - 使用 Java 策略文件使应用程序免受 JCE 限制
我有一个使用 AES-256 执行一些加密的 Java 应用程序;如您所知,这需要 JCE Unlimited Strength Jurisdiction Policy Files。但是,我不想在应用程序分发到的所有机器上都安装这些。所以经过一番挖掘后,我遇到了这个:
http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#ExemptApps
这显然是一种在 JAR 中包含策略文件的方法。从那篇文章中,完成此操作的步骤是:
第 1 步:编写和编译您的应用程序代码
第 2 步:创建权限策略文件以授予适当的加密权限
第 3 步:准备测试
步骤 3a:从政府强制限制中申请政府批准。
步骤 3b:获取代码签名证书
步骤 3c:将应用程序和权限策略文件捆绑到 JAR 文件中
步骤 3d:签署 JAR 文件
步骤 3e:设置您的环境,就像受限制国家的用户一样
步骤 3f:(仅适用于使用豁免机制的应用程序)安装实现权限策略文件中指定的豁免机制的提供程序
第 4 步:测试您的应用程序
第 5 步:如果需要,申请美国政府出口批准
第 6 步:部署您的应用程序
我想知道的是步骤 3b - 3d。我应该如何签署这个 JAR 文件?谁应该签字?我可以使用客户没有的自签名证书进行签名吗?是否对此签名进行了任何身份验证?
有人对这个有经验么?
java - java中的密码填充字符串是什么
每个人都在谈论密码中的填充方案,但是需要传递给密码的实际字符串是什么?我不在乎它们是对称的还是不对称的,我只想要一个可能值的列表。
java - 使用 Java-PNS 向 iPhone 发送推送通知时出错?
我正在使用 javaPNS_2.2.jar 文件向 iPhone 设备发送推送通知消息。
我的代码是:
但是,我收到错误:
是什么导致了这个异常?
java - AES/CBC/PKCS5Padding 问题
我正在尝试加密和解密一些简单的文本。但由于某种原因,我收到了一个奇怪的错误:javax.crypto.BadPaddingException
. 为什么 JCE 会生成未正确填充的字节?
我有以下代码:
但由于某种原因,它不起作用。它因以下异常而失败:
怎么了?数据大小为 16 字节,但仍“未正确填充”?
java - 为什么 JCE 初始化需要 MD5
我正在尝试在我的 java 应用程序上启用 FIPS 180-3。FIPS 180-3 只允许使用 5 个安全 [哈希] (http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf),MD5 不是其中之一。因此,我试图以编程方式从 Sun 提供程序中删除 MD5 算法。这是示例代码。
但这会引发以下异常。如果您评论“sun.remove(..”该程序可以正常工作。如果我删除 MD2,而不是 MD5,那么它也可以正常工作。
在我看来,jre 库似乎使用 MD5 进行签名,但我检查了 jre/lib/ext/sunjce_provider.jar 签名者及其使用 sha1。
知道为什么我的代码因此错误而失败吗?
TestRemoveMD5.main(TestRemoveMD5.java:20) 的 javax.crypto.Cipher.getInstance(DashoA13*..) 的线程“主”java.lang.ExceptionInInitializerError 中的异常
原因:java.lang.SecurityException:无法在 javax.crypto.SunJCE_b.(DashoA13*..) 上为受信任的 CA 设置证书 ... 3 更多
原因:java.lang.SecurityException:签名类已在 javax.crypto.SunJCE_b$1 的 javax.crypto.SunJCE_b.c(DashoA13*..) 的 javax.crypto.SunJCE_b.d(DashoA13*..) 处被篡改.run(DashoA13*..) at java.security.AccessController.doPrivileged(Native Method) ... 还有 4 个
java - 在这里使用的正确随机算法是什么?
如果我MD5WithRSAEncryption
用作签名算法,那么对应的随机算法是什么?
我试过MD5PRNG
了,但我得到了:
java.security.NoSuchAlgorithmException:找不到 SecureRandom MD5PRNG 实现
此处用于初始化 a 的正确随机算法是 KeyPairGenerator
什么?
就像SHA1PRNG
我们使用SHA256WithRSAEncryption
我的意思是:SHA256WithRSAEncryption
is a key pair algorithm
,而SHA1PRNG
is arandom generator
由密钥对算法使用。例如keyPairGenerator.initialize(keySize, secureRandom);
(keyPairGenerator
类在哪里KeyPairGenerator
)
它们是否以某种方式依赖于正确的配对?即我可以将 MD5WithRSAEncryption 与 SHA1PRNG 一起使用吗?