草庐IT

BouncyCastle

全部标签

java - BouncyCaSTLe PGP 和 McAfee eBusiness Server 8.6 不兼容

几个星期以来,我一直在用头撞墙,试图弄清楚为什么我们的银行无法解密使用BouncyCaSTLePGP单程签名和加密的消息。该银行使用McAfeeE-BusinessServer8.6进行解密。数据使用银行的公钥加密,并使用我们的私钥签名。使用我们自己的公钥进行加密,我能够成功解密并验证使用以下代码生成的文件的签名。Gnupg可以很好地解密和验证文件。但是,银行无法解密该文件。我试过先关闭压缩,然后关闭ASCII装甲。这两个选项似乎都不起作用,而且无论我尝试什么选项,它们总是收到相同的错误消息:event1:initialevent13:BeginLexevent8:AnalyzeFil

java - 使用充气城堡使用中间证书正确创建新证书

所以我的问题如下,基本上我想使用充气城堡(jdk16版本1.46)创建一个证书链。我对充气城堡和java.security总体上还是比较陌生的,所以如果我的方法可能完全错误,但无论如何这就是我所做的:到目前为止,我能够创建一个自签名证书,用作根证书。这是使用以下代码完成的://-----createCAcertificatewithkeyKeyPaircaPair=Signing.generateKeyPair("DSA",1024,null,null);这基本上创建了key对,如果需要,两个空选项用于提供者和安全随机数。Map>caMap=newHashMap>();caMap.pu

java - 使用 Java 使用 BouncyCaSTLe 生成 X509Certificate

这就是我现在用来生成数字证书的内容。现在我可以生成一个数字证书,其中的密码对私钥进行保护。publicstaticvoidmain(String[]args)throwsException{Security.addProvider(newBouncyCastleProvider());testKeyStore();}publicstaticvoidtestKeyStore()throwsException{try{StringstoreName="d://suresh_test.cer";java.security.KeyPairGeneratorkeyPairGenerator=Ke

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

我使用Java的内置加密库编写了一些(功能性)AES加密代码,如下所示,但我想使用256位key。但是,我希望无需用户安装UnlimitedStrengthCryptographyPolicy文件即可执行此操作。现在,我听说使用BouncyCaSTLeLightweightAPI可以让我做到这一点,但不幸的是,我在理解它时遇到了很多麻烦,并且正在努力寻找任何对我有帮助的文档。这是我当前的代码,其中'content'是要加密的字节数组:KeyGeneratorkgen=KeyGenerator.getInstance("AES");intkeySize=128;kgen.init(key

java - 结合验证 PKCS#7 签名所需的所有任务

我已经为这个问题苦苦思索了大约20个小时,我可能遗漏了一些简单的东西。但是,我已经到了我认为需要帮助的地步。我已经阅读了数十种关于如何解决问题不同部分的解释,但我无法弄清楚如何将它们组合在一起。我有一个DER编码的分离PKCS#7数字签名。签名符合RFC3852(加密消息语法)。对于我的项目,我需要逐步完成验证签名所需的每个步骤,并能够判断验证失败的步骤。我在Java中使用BouncyCaSTLe。据我了解,验证数字签名需要六个基本步骤验证根证书是受信任的证书验证从根证书到签名证书的证书链验证签名者的姓名是否符合您的预期验证证书没有过期验证证书没有出现在CRL上(为简单起见,假设CRL

java - 如何正确使用 Bouncy CaSTLe 的 OAEPEncoding for RSA(轻量级 API)

我一直在研究BouncyCaSTLe的RSA(轻量级API)实现,并了解了基础知识。看着他们的spec对于JCE提供程序实现,我注意到RSA可以使用不同的填充方案。据我了解,默认情况下使用空填充。因此,我开始探索OAEP填充,尤其是OAEPWithSHA512AndMGF1Padding。用谷歌搜索不是很有帮助所以我开始挖掘BC的源代码并找到了org.bouncycastle.jce.provider.JCERSACipher类(class)。但是看着initFromSpec很快就让我头疼了。。。具体来说就是不明白最后两个可以传给OAEPEncoding构造函数的参数是什么。根据BC的

java - 用 BC 验证分离的签名

如何使用Java中的BouncyCaSTLe提供程序验证分离的签名(CMS/pkcs#7签名)?目前,我的下面的代码抛出异常消息message-digestattributevaluedoesnotmatchcalculatedvalueSecurity.addProvider(newBouncyCastleProvider());Filef=newFile(filename);byte[]buffer=newbyte[(int)f.length()];DataInputStreamin=newDataInputStream(newFileInputStream(f));in.read

java - 如何从 Java 中的文件生成 PublicKey 对象

我有一个包含RSA公钥的文件(使用ssh-keygen生成)。我想读取文件并生成一个PublicKey对象。在此之前我转换了文件,因为读取原始文件似乎是不可能的:#http://unix.stackexchange.com/questions/220354/how-to-convert-public-key-from-pem-to-der-format/220356#220356ssh-keygen-f~/.ssh/id_rsa.pub-e-mPEM>~/.ssh/id_rsa.pub.pemopensslrsa-RSAPublicKey_in-in~/.ssh/id_rsa.pub.

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 - 使用 BouncyCaSTLe 创建 key 对证书并使用外部 CA 对其进行签名

到目前为止,这是我为用户生成证书的内容try{Security.addProvider(newBouncyCastleProvider());//addingprovider//toStringpathtoSave="D://sureshtest.cer";KeyPairkeyPair=generateKeypair();PublicKeypublicKey=keyPair.getPublic();PrivateKeyprivateKey=keyPair.getPrivate();X509CertificatetrustCert=createCertificate(null,"CN=C