草庐IT

java - 不想使用无限强度策略文件

我想制作一个Java应用程序来制作签名,但遇到了无限强度策略文件的问题,在许多帖子中讨论过,例如Howtoavoidinstalling"UnlimitedStrength"JCEpolicyfileswhendeployinganapplication?当然,当我切换策略文件时一切正常,但我宁愿避免这种情况,因为我不打算使用对称加密,所以我猜这是可能的。我的问题是我已经在KeyStore的加载方法中得到非法key大小异常。我的问题:1)我能否对keystore中的内部加密做任何事情,以便key大小限制不需要用户更改策略文件?2)我了解到BouncyCaSTLeLightweightA

java - 为什么JCE初始化需要MD5

我正在尝试在我的Java应用程序上启用FIPS180-3。FIPS180-3只允许使用5个安全[hashes](http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf),MD5不是其中之一。因此,我试图以编程方式从Sun提供程序中删除MD5算法。这是示例代码。publicstaticvoidmain(String[]args)throwsException{Security.removeProvider("SUN");Sunsun=newSun();sun.remove("MessageDigest.MD

java - 在java中生成证书链

问题是如何在Java中以编程方式生成证书链。换句话说,我想在java中执行此处详述的操作:http://fusesource.com/docs/broker/5.3/security/i382664.html基本上,我可以为新客户端创建RSAkey:privateKeyPairgenRSAKeyPair(){//GetRSAkeyfactory:KeyPairGeneratorkpg=null;try{kpg=KeyPairGenerator.getInstance("RSA");}catch(NoSuchAlgorithmExceptione){log.error(e.getMess

Java JCE 提供者 - "clean room implementation"是什么意思?

我需要编写一个JCE提供程序。我了解到我需要使用充气城堡洁净室实现。您能告诉我“洁净室实现”在这种情况下的含义吗? 最佳答案 在这种情况下,无尘室实现意味着代码仅根据描述和规范编写,无法访问任何可能有问题的代码。这很重要,因为Sun源代码以前的许可证与特别是GPL发行版不兼容。通过确保代码不是在没有访问此类代码的情况下编写的,可以保证以后不会发现Sun许可证适用于洁净室实现,然后再次与GPL许可证或任何其他限制不兼容。换句话说,它保证所显示的许可证将有效。 关于JavaJCE提供者-"c

java - AES-256 和 PKCS7Padding 在 Java 中失败

我有几个库,C#、PHP和Android,它们都以相同的方式加密/解密字符串,因此它们彼此兼容,即C#将数据写入数据库并加密,PHP可以成功解密它并返回原始字符串。我现在需要对标准Java应用程序做同样的事情,所以我从我的Android库中获取代码并需要库,但我遇到了异常。据我所知,代码不是特定于Android的,因此应该不是问题。下面是我的加密函数publicstaticStringencrypt(StringplainPasword){Stringpassword="";try{SecretKeySpeckey=newSecretKeySpec("hcxilkqbbhczfeult

java.lang.NoClassDefFoundError : org. bouncycaSTLe.jce.provider.BouncyCaSTLeProvider

我在使用websphere配置BouncyCaSTLe时遇到问题。我正在处理pdf文档签名,它需要依赖BouncyCaSTLe。我正在使用webspherev8.5、java6和bcprov-jdk15on-1.47.jar目前我已经将这个jar包含到我的项目库中,并且我正在将它部署到WAS。所以它的抛出错误:java.lang.NoClassDefFoundError:org.bouncycastle.jce.provider.BouncyCastleProvider.出现此错误后,我尝试将BouncyCaSTLe配置为WAS,方法是将bcprov-jdk15on-1.47.jar放

java - 是否有一种实用的方法来确定正在使用哪些 JCE 加密提供程序?

我们已将Java产品配置为仅使用经FIPS验证的RSAJCE加密提供程序。但是,当只有RSA库在java.security中列出时,该产品将无法工作。因此,有些东西正在向其他提供商请求非FIPS算法。通过排除过程,我们可以知道哪些jar是成功操作所必需的,但这并没有告诉我们正在请求哪些算法,或者由谁请求。这似乎是一个常见问题,但显然我们没有找到正确的文档或Google搜索字符串:是否有任何可靠、方便且一致的机制来确定哪些JCE提供程序正在使用运行JVM实例? 最佳答案 您可以使用Security.getProviders()枚举提供

java.security 与 javax.security

我对Java(6+)如何分发其安全框架感到有点困惑。一方面,您有以下包(及其各自的子包和类型):java.security.*javax.security.*另一方面,您有java.lang.SecurityManager,可能还有散落在其他非安全包中的其他安全相关类型(如java.lang).那么,几个问题:java.security和javax.security有什么区别?何时在每个中使用类型?除了java.lang之外,是否还有任何其他包出现以安全为中心的类型,如果有,它们是什么?JCE和JCA适合这里的什么地方?它们包含哪些包,或者它们完全独立并位于自己的JAR中?

java - JCA、它的提供者和 JCE 之间的关系?

我认为JCA替代JCE很简单。然而,编写一些测试代码来获取我系统上的所有提供程序表明情况并非如此。我注意到以下几点:一些算法有多个提供者(例如:MD5withRSA在SunRsaSign以及SunJSSE中)JCA似乎有类型的算法,这些算法超出了JCE的范围第1项很有意义,因为JCA(对我而言)是一个可供选择的JCE提供程序库/数组。第2项有点令人困惑,因为它表明JCA并不是一组“相同”的JCE提供者;对于任何“种类”的提供者,无论是否连接JCE,它都是某种形式的水坑。那么,JCA、它的提供者和JCE之间的工作关系是什么?这些提供商是否也存在于独立的孤岛中,或者它们是否相互“构建”/相

Java 7 的 Java SE 强加密?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。ImprovethisquestionJava7的预览版似乎缺少用于无限加密强度的JCE包。有人偶然发现了这样的东西吗?