-
Notifications
You must be signed in to change notification settings - Fork 16
Private key formaat GDS2
Het kan zijn dat de key in een ongeldig formaat (PKCS#1 in plaats van PKCS#8) is ingevoerd en dat pas na een upgrade naar Java 8 dit een fout oplevert als:
Proces afgebroken vanwege een exception: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:217) at java.security.KeyFactory.generatePrivate(KeyFactory.java:372) at nl.b3p.brmo.service.scanner.GDS2OphalenProces.getPrivateKeyFromPEM(GDS2OphalenProces.java:152)
Doe dan de volgende stappen:
Sla de private key op in het bestand key.txt (de key moet beginnen met -----BEGIN PRIVATE KEY-----)
Controleer de key met OpenSSL: openssl pkcs8 -in key.txt -nocrypt
Dit moet dezelfde output geven als de inhoud van key.txt. Als de key in het foute formaat is geeft dit een fout als:
Error decrypting key 139968942151328:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1338: 139968942151328:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:390:Type=X509_ALGOR 139968942151328:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:772:Field=pkeyalg, Type=PKCS8_PRIV_KEY_INFO 139968942151328:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:
Doe dan het volgende: pas in key.txt
-----BEGIN PRIVATE KEY-----
aan naar:
-----BEGIN RSA PRIVATE KEY-----
en het einde naar:
-----END RSA PRIVATE KEY-----
Voer dit commando uit:
openssl pkcs8 -topk8 -in key.txt -outform pem -nocrypt -out key_pkcs8.txt
De inhoud van key_pkcs8.txt is dan de private key in het juiste PKCS#8 formaat. Vul deze in bij het GDS2OphaalProces.
Dit werk valt onder een Creative Commons Naamsvermelding-GelijkDelen 2.0 Nederland-licentie.