Funkcja PublicKey.getEncoded() zwraca tablicę bajtów zawierającą klucz publiczny w formacie SubjectPublicKeyInfo (x.509), w jaki sposób mogę go przekonwertować na kodowanie klucza publicznego RSA?Konwertowanie klucza publicznego w formacie SubjectPublicKeyInfo na format RSAPublicKey java
8
A
Odpowiedz
12
Zastosowanie nadmuchiwany zamek na SubjectPublicKeyInfo
, tak:
byte[] encoded = publicKey.getEncoded();
SubjectPublicKeyInfo subjectPublicKeyInfo = new SubjectPublicKeyInfo(
ASN1Sequence.getInstance(encoded));
byte[] otherEncoded = subjectPublicKeyInfo.parsePublicKey().getEncoded();
1
Poniższy fragment kodu pracował dla mnie, musiałem użyć BouncyCastle chociaż.
byte[] keyBytes = key.getEncoded(); // X.509 for public key
SubjectPublicKeyInfo subPkInfo = new SubjectPublicKeyInfo((ASN1Sequence)ASN1Object.fromByteArray(keyBytes));
byte[] rsaformat = subPkInfo.getPublicKey().getDEREncoded();
3
Bez BouncyCastle:
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(publicKeyBinary));
Powiązane problemy
- 1. Jak odczytać klucza publicznego RSA w PEM + PKCS # 1 format
- 2. Git Heroku Odmowa uprawnień klucza publicznego (po dodaniu klucza publicznego)
- 3. Weryfikacja podpisu JWT przy użyciu punktu końcowego klucza publicznego
- 4. Jak załadować publiczny klucz ssh z pliku w java?
- 5. Jak działa szyfrowanie klucza publicznego?
- 6. publicznego klucza szyfrującego z RSACryptoServiceProvider
- 7. Konwertowanie wartości klucza Raw RSA na obiekt SecKeyRef dla szyfrowania
- 8. Jak skonfigurować uwierzytelnianie klucza publicznego?
- 9. Wynik klucza publicznego RSA RSA niepoprawny
- 10. Konwertowanie ArrayList na Array w java
- 11. Kopiowanie klucza publicznego RSA do schowka
- 12. Przykładowy kod do szyfrowania/odszyfrowywania klucza publicznego na komputerze Mac?
- 13. Problemy z uwierzytelnianiem klucza publicznego na komputerze cygwin
- 14. Generowanie adresu Bitcoin z klucza publicznego ECDSA
- 15. Niestandardowy format daty w formacie WPF
- 16. Konwersja ciągu znaków w formacie ddMyyyy na format DateTime
- 17. Konwertowanie NSData na NSDictionary
- 18. Bezpieczne logowanie: szyfrowanie klucza publicznego w PHP i Javascript
- 19. Jak wyświetlić tokeny klucza publicznego w bibliotece DLL
- 20. Sprawdzanie poprawności javax.xml.crypto.dsig przy użyciu klucza publicznego w xml
- 21. jaka jest różnica między różnymi kluczami w szyfrowaniu klucza publicznego
- 22. Konwertowanie z listy na numeryczne w R
- 23. Java: Format liczby w milionach
- 24. Przesyłanie do gita TFS przy użyciu klucza publicznego/prywatnego
- 25. Golang Konwertowanie obrazu.Image na [] bajt
- 26. iPhone: Jak utworzyć SecKeyRef z pliku klucza publicznego (PEM)
- 27. Tworzenie klucza publicznego RSA z jego modułu i wykładnika
- 28. Autoryzacja klucza publicznego SSH za pomocą Libssh2 C++
- 29. Co oznacza format A w ~ A w formacie?
- 30. java Format String dziesiętny
nie służą Cele wprowadzanych. tutaj właśnie wrzuciliśmy klucz publiczny do obiektu RSAPublicKey, ale kiedy mówię RSAPublicKey.getEncoded(), nadal otrzymuję klucz w formacie x.509, a nie w formacie RSA. –
Edytowano odpowiedź. Mam nadzieję, że nie masz nic przeciwko używaniu BC. – martijno
Wielkie dzięki! Twoje podejście zadziałało. Zamieszczam dokładny fragment, którego użyłem. –