草庐IT

BouncyCastle

全部标签

java - 使用工业级加密保护 Java 免受逆向工程

目标:保护我的Java应用程序免受逆向工程。想法:将程序分成两半(加载器和程序)loader将是一个普通的jar程序将是一个加密的jar文件(bouncycaSTLe,AES?)加载程序向安全服务器(https)请求解码程序的key加载器然后解码程序并加载它的类问题:5号有可能吗?这里有人做过吗?你知道任何可用的库吗?您能发现主要陷阱/您会采取不同的做法吗?额外我知道不可能完全阻止代码的逆向工程。我只是想让它变得更难、更可追溯。 最佳答案 这很可能使用类加载器。但是解码你的程序还是很容易的。需要做的就是更改加载器,以便在使用自定义类

c# - 将RSA加密Java代码移植到C#

我正在尝试将以下Java代码移植到C#等效代码:publicstaticStringencrypt(Stringvalue,Stringkey)throwsInvalidKeySpecException,NoSuchAlgorithmException,NoSuchPaddingException,InvalidKeyException,IllegalBlockSizeException,BadPaddingException{byte[]bytes=value.getBytes(Charset.forName("UTF-8"));X509EncodedKeySpecx509=newX

java - 为 SSL 通信创建证书

我正在开发一个分布式应用程序,该应用程序具有许多唯一标识的从属进程,这些从属进程将通过启用SSL的套接字与主应用程序通信。该应用程序是用java编写的。我需要一些帮助来理解SSLSockets,或者更确切地说,他们使用的证书。我正在寻找的是可以告诉我是否已正确理解证书链的基本工作原理,但我也不会拒绝代码示例的人。我想要这样一种设置,其中服务器本身具有CA签名证书,并且每个从服务器都将获得由主应用程序创建的自己的证书。CA->Mainservercert->MasterSSLcertCA->Mainservercert->SlaveSSLcert1CA->Mainservercert->

java - 使用非阻塞架构管理 DTLS

我正在尝试在我当前基于Netty的服务器中添加DTLS支持。Netty让我有可能将处理程序添加到管道中,在管道中数据包按定义的顺序处理,并在需要更改时更改。BouncyCaSTLe对TLS和DTLS的支持目前仅限于与“旧”阻塞I/O一起使用。这使得很难(也许不可能)将BC与非阻塞NIO框架(如Netty)一起使用。有谁知道可以与Netty等非阻塞框架一起使用的任何DTLS实现,或者是否有可能的解决方法来使常规加密库(例如BouncyCaSTLe)在这种情况下工作?谢谢。 最佳答案 有一个pullrequest对于使用非阻塞API实现

java - 我应该使用哪些 Java 加密算法?

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.5年前关闭。Improvethisquestion我正在开发一个需要存储静态加密二进制信息的程序。不幸的是,我似乎找不到解释哪种加密方案最适合不同应用程序的资源。由于加密很复杂而且我不是专家,我决定使用一个名为Jasypt的库。它包装了Java的内置加密功能。为了弄清楚我可以使用哪些算法,我编写了一些单元测试。第一个测试调用Jasypt的AlgorithmRegistry.getAllPBEAlgorithms()函数并列出所有可用的

java - 解密 TLS 1.2 AES-GCM 数据包

我正在开发一个Java程序来解密使用TLS_RSA_WITH_AES_128_GCM_SHA256密码的TLS1.2session。我使用wireshark录制了一个测试session。MasterSecret已为人所知。No.TimeProtocolLengthInfo40.000124000TLSv1.2166ClientHello60.000202000TLSv1.21074ServerHello,Certificate,ServerHelloDone80.001071000TLSv1.2393ClientKeyExchange,ChangeCipherSpec,Finished

java - org.bouncycaSTLe.asn1.DLSequence 无法转换为 org.bouncycaSTLe.asn1.ASN1Integer

我正在尝试使用BouncyCaSTLe类来加密和解密密码。我已经编写了一个测试程序并生成了PEM格式和DER格式的测试key/证书。我可以将key/证书读入我的程序并获取公钥并加密一个值。当我尝试设置解密值时,在创建AsymmetricKeyParameter时出现错误“org.bouncycaSTLe.asn1.DLSequencecannotbecasttoorg.bouncycaSTLe.asn1.ASN1Integer”。似乎当我试图通过执行cert.getEncoded()从证书中提取数据时,它也会提取header值。我尝试只读取文件并删除BEGIN和ENDCERTIFCAT

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

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

java - BCECPublicKey 到指纹

当连接到"new"SSH服务器时,使用命令行,将显示一个指纹:Theauthenticityofhost'test.com(0.0.0.0)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:566gJgmcB43EXimrT0exEKfxSd3xc7RBS6EPx1XZwYc.Areyousureyouwanttocontinueconnecting(yes/no)?我知道指纹是公钥的SHA256哈希值的Base64字符串。我知道如何使用RSAPublicKey生成此指纹:RSAPublicKeypublicKey=...;ByteArra

java - 使用充气城堡创建 Thunderbird 可用的公共(public) PGP key

我创建了公共(public)和私有(private)PGP使用keyorg.bouncycastle.openpgp.PGPKeyRingGenerator.进行GregS建议的更改后,公钥是.asc文件,私钥是.skr文件。我首先需要将公钥分发给Thunderbird用户,然后再分发给Outlook和其他电子邮件客户端的用户。我读了theseinstructionsforreceivingapublickeyinthunderbird,但说明只指定了一个.asc没有指定.asc的内容/结构的扩展名文件。如何设置以便我下面的(修改过的?)代码创建一个公钥,Thunderbird的远程用