我是 Java 中 RSA 算法和密码学的新手。我有一个由第 3 方组织提供的.cer
格式格式的客户证书。现在我需要使用密码密钥证书的公共部分加密我的密码,使用 RSA 算法和 PKCS #1.5 填充 - 所以不是 OAEP - 在 Java 中。
您能否检查以下是否执行上述操作?
Security.addProvider(neworg.bouncycastle.jce.provider.BouncyCastleProvider());
byte[] input = "Abc123".getBytes();
Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding", "BC");
FileInputStream fin = new FileInputStream(new File("/test.cer"));
CertificateFactory f = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate)f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
cipher.init(Cipher.ENCRYPT_MODE, pk, new SecureRandom());
byte[] cipherText = cipher.doFinal(input);