草庐IT

castle-monorail

全部标签

c# - Blowfish 引擎的 Bouncy CaSTLe CTS 模式未按预期工作

也许我的期望是错误的。我不是密码学专家,我只是一个普通用户。到目前为止,我已经竭尽全力地尝试使这项工作成功。背景信息:我正在尝试从使用Blowfish引擎(TCipher_Blowfish_)和CTS操作模式(cmCTS)的DelphiEncryptionCompendium移植旧版加密。私钥通过RipeMD256(THash_RipeMD256)散列。问题:输入的纯文本字节数组需要与CIPHER_BLOCK大小相同。据我所知,它不应该。来自维基百科:Incryptography,ciphertextstealing(CTS)isageneralmethodofusingablockc

c# - 如何在 CaSTLe.DynamicProxy 中使用 IInterceptor?

我写了一个这样的例子简单计算器类:publicclassCalculator{publicintAdd(inta,intb){returna+b;}}实现了DynamicProxy提供的“IInterceptor”[Serializable]publicabstractclassInterceptor:IInterceptor{publicvoidIntercept(IInvocationinvocation){ExecuteBefore(invocation);invocation.Proceed();ExecuteAfter(invocation);}protectedabstra

java - 使用 Java 中的 Bouncy CaSTLe 创建具有主题替代项的 PKCS10 请求

我目前正在使用充气城堡创建一个包含单个主题的PKCS10请求:X500Principalsubject=newX500Principal("CN=foo.bar.com");PKCS10CertificationRequestBuilderbuilder=newJcaPKCS10CertificationRequestBuilder(subject,publicKey);我现在需要向PKCS10请求添加主题替代项。我一直无法弄清楚如何做到这一点。有什么建议吗?解决方案:根据第二个答案中提供的重要信息,我能够弄清楚这一点。在下面的工作代码中,XName是一个包含主题名称和名称类型(DNS

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 - 如何使用新的 Bouncy CaSTLe 库从 PKCS10CertificationRequest 获取公钥?

在新版本的BouncyCaSTLe库中,PKCS10CertificationRequest发生了变化。在以前的版本中,可以使用getPublicKey()方法从此类请求中获取PublicKey(请参阅olddoc)。现在这个方法消失了。如何从此类请求中获取PublicKey?有getSubjectPublicKeyInfo().parsePublicKey()但它返回ASN1Primitive。我从SPKACNetscapeCertRequest看到,我仍然可以通过调用getPublicKey()直接读取PublicKey。 最佳答案

java - 在 Bouncy CaSTLe 中将字节编码的 key 转回其原始 ECPublicKey

在Java中,我有一个以字节数组形式发送的ECDH公钥。收到字节数组后,我该如何将其转回公钥?我正在使用BouncyCaSTLe,但Java解决方案同样有用。谢谢 最佳答案 当您获得编码key时,假设您使用默认的“[yourkeyPair].getPublic().getEncoded()”方法,这将起作用。X509EncodedKeySpecks=newX509EncodedKeySpec(pubKeyByteString.toByteArray());KeyFactorykf;try{kf=java.security.KeyFa

java - 使用 Bouncy CaSTLe 提供程序进行 AES 加密/解密

这个问题在这里已经有了答案:JavaBouncyCastleCryptography-EncryptwithAES(2个答案)关闭9年前。这是我使用JDK5的native库开发的AES256加密和解密的实现:publicstaticStringencrypt(Stringkey,StringtoEncrypt)throwsException{KeyskeySpec=generateKeySpec(key);Ciphercipher=Cipher.getInstance("AES");cipher.init(Cipher.ENCRYPT_MODE,skeySpec);byte[]encr

使用 Bouncy CaSTLe 的 C# RSA 解密

我得到了一个Base64编码的加密字符串,它是使用BouncyCaSTLe在Java中加密的。下面的示例Java片段:Ciphercipher=Cipher.getInstance("RSA/ECB/PKCS1Padding");cipher.init(Cipher.ENCRYPT_MODE,key.getPublic());byte[]encryptedText=cipher.doFinal("xxxxx|xxxxx".getBytes("UTF-8"));StringencodedText=newBASE64Encoder().encode(encryptedText);我需要使用

java - 如何将 Bouncy CaSTLe 轻量级 API 与 AES 和 PBE 结合使用

我有一个使用JCE算法“PBEWithSHA256And256BitAES-CBC-BC”创建的密文block。提供者是BouncyCaSTLe。我想做的是使用BouncyCaSTLe轻量级API解密此密文。我不想使用JCE,因为这需要安装UnlimitedStrengthJurisdiction策略文件。当谈到将BC与PBE和AES结合使用时,文档似乎很少。这是我目前所拥有的。解密代码无一异常(exception)地运行但返回垃圾。加密代码,Stringpassword="qwerty";StringplainText="helloworld";byte[]salt=generate

java - Jasypt 使用 Bouncy CaSTLe 的 EncryptionOperationNotPossibleException

我尝试使用Jasypt与BouncyCastlecrypro在Spring应用程序中提供(128位AES)来解密实体属性,同时使用Hibernate保存它们。但是当尝试保存实体时,我总是得到这个org.jasypt.exceptions.EncryptionOperationNotPossibleException。org.jasypt.exceptions.EncryptionOperationNotPossibleExceptionEncryptionraisedanexception.Apossiblecauseisyouareusingstrongencryptionalgor