Mit einem PEM-Zertifikat wieBouncy Castle: PEMReader => PEMParser
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B9846B5D1803E.....
BC mit 1,46, extrahiere ich das Schlüsselpaar mit dem folgenden Code:
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)
.....
Jetzt gerade habe ich installiert BC 1,48 und Sie sagen mir, dass PEMReader veraltet ist und durch PEMParser ersetzt werden muss.
Mein Problem ist, AFAIK, es gibt keinen Platz für ein Passwort in PEMParser.
Kann mir jemand ein Beispiel geben, wie ich meinen Code in eine PEMParser-Version migrieren kann?
TIA
Wenn der private Schlüssel im PKCS # 8-Format vorliegt, ist das Objekt eine Instanz von PrivateKeyInfo. Sie müssen 'converter.getPrivateKey ((PrivateKeyInfo) -Objekt) verwenden;' – gtrig
Brilliant, dies hat mir geholfen, meine Verwendung der veralteten Klasse BC 1.46 org.bouncycastle.openssl.PEMReader an die neuere PEMParser-Technik anzupassen. Ich danke dir sehr! – Jeffro
@xwatch Hallo, könnten Sie bitte Importe bereitstellen? Kann die Klasse PEMParser nicht finden -Ich bin irgendwie neu- mit MAVEN und habe diese Abhängigkeit org.bouncycastle bcprov-jdk15on 1,56 Kann es nicht an die Arbeit. –