Skip to content

Private key formaat GDS2

Matthijs Laan edited this page Aug 17, 2016 · 1 revision

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.

Clone this wiki locally