Tag: bouncycastle

如何使用BouncyCastle进行TLS?

有人知道BouncyCastle的TLS示例吗? 互联网上缺乏它们让我感到惊讶。 如果确实没有,那就让我们收集它们作为答案。

Bouncy Castle:PEMReader => PEMParser

有像PEM证书一样 —–BEGIN RSA PRIVATE KEY—– Proc-Type: 4,ENCRYPTED DEK-Info: AES-256-CBC,B9846B5D1803E….. 使用BC 1.46,我使用以下代码提取密钥对: int myFunc(String pemString, char [] password) { ByteArrayInputStream tube = new ByteArrayInputStream(pemString.getBytes()); Reader fRd = new BufferedReader(new InputStreamReader(tube)); PEMReader pr = new PEMReader(fRd, new Password (password), “BC”); try { Object o = pr.readObject(); if (o instanceof KeyPair) ….. 现在我刚刚安装了BC 1.48,他们告诉我PEMReader已被弃用,必须由PEMParser替换。 我的问题是,AFAIK,PEMParser中没有密码的地方。 有人能举例说明如何将我的代码迁移到PEMParser版本吗? TIA

使用Bouncy Castle签署CSR

我找不到任何描述如何使用BC签署CSR的代码/文档。 作为输入,我将CSR作为字节数组,并希望以PEM和/或DER格式获得证书。 我已经走到了这一步 def signCSR(csrData:Array[Byte], ca:CACertificate, caPassword:String) = { val csr = new PKCS10CertificationRequestHolder(csrData) val spi = csr.getSubjectPublicKeyInfo val ks = new java.security.spec.X509EncodedKeySpec(spi.getDEREncoded()) val kf = java.security.KeyFactory.getInstance(“RSA”) val pk = kf.generatePublic(ks) val (caCert, caPriv) = parsePKCS12(ca.pkcs12data, caPassword) val fromDate : java.util.Date = new java.util.Date // FixMe val toDate = fromDate // FixMe val issuer = […]