Z certyfikatem PEM jakBouncy Castle: PEMReader => PEMParser
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B9846B5D1803E.....
używając BC 1,46, wyodrębnić parę kluczy z następującego kodu:
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)
.....
Teraz wystarczy zainstalować BC 1.48, a mówią mi, że PEMReader jest przestarzały i musi zostać zastąpiony przez PEMParser.
Mój problem, AFAIK, nie ma miejsca na hasło w PEMParser.
Czy ktoś mógłby podać przykład, jak przenieść mój kod do wersji PEMParser?
TIA
Jeśli klucz prywatny jest w formacie PKCS # 8, obiekt będzie instancją PrivateKeyInfo. Będziesz musiał użyć obiektu 'converter.getPrivateKey ((PrivateKeyInfo));' – gtrig
Świetnie, to pomogło mi dostosować moje użycie wycofanej klasy BC 1.46 org.bouncycastle.openssl.PEMReader do nowszej techniki PEMParser. Dziękuję bardzo! – Jeffro
@watchwatch Witaj, czy mógłbyś zapewnić import? Nie można odnaleźć klasy PEMParser -Jestem rodzaju wczesne wykrywanie chorób przy użyciu Maven i mam tę zależność org.bouncycastle bcprov-jdk15on 1,56 nie mogę zmusić go do pracy. –