Con un certificato PEM comeBouncy Castle: PEMReader => PEMParser
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B9846B5D1803E.....
utilizzando aC 1,46, ho estrarre la coppia di chiavi con il seguente codice:
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)
.....
Ora ho appena installato aC 1,48, e mi dicono che PEMReader è deprecato e deve essere sostituito da PEMParser.
Il mio problema è, AFAIK, non c'è posto per una password in PEMParser.
Qualcuno potrebbe darmi un esempio su come migrare il mio codice su una versione di PEMParser?
TIA
Se la chiave privata è in formato PKCS # 8, l'oggetto sarà un'istanza di PrivateKeyInfo. Dovrai usare l'oggetto 'converter.getPrivateKey ((PrivateKeyInfo))' – gtrig
Brillante, questo mi ha aiutato ad adattare il mio uso della classe obsoleta BC 1.46 org.bouncycastle.openssl.PEMReader alla nuova tecnica PEMParser. Grazie mille! – Jeffro
@xwatch Ciao, potresti fornire le importazioni per favore? Non riesci a trovare la classe PEMParser -Sono tipo di nuovo- utilizzando MAVEN e ho questa dipendenza org.bouncycastle bcprov-jdk15on 1,56 non riesco a farlo funzionare. –