Neues Thema starten
Beantwortet

Public Key aus Zertifikat ermitteln

Hat es schon jemand geschafft aus dem LogMessage Zertifikat den Public-Key auszulesen, den man ja benötigt um die DSFinV-K Dateien korrekt zu füllen?

Ich bin bisher bei allen Varianten die ich probiert habe gescheitert.


Beste Antwort

Hallo Dennis Glittenberg,


die Methode von Thomas Egge ist perfekt, um den PublicKey für die Ausgabe (QR-Code, DSFinV-K) zu nutzen.

Zur Verifizierung der Signaturen (mit openssl) benötigt man jedoch den PublicKey im PEM-Format.
Diesen gewinnt man am Einfachsten aus dem Zertifikat im PEM-Format. Dazu nimmt man das erste Zertifikat der Zertifikats-Chain und speichert es als cert.pem.
Danach ruft man den Einzeiler

"openssl x509 -pubkey -noout -in cert.pem -out pubkey.pem"

auf. Die Zertifikats-Chain erhält man über der Datei *_X509.pem des Tar-Exports oder über die Funktion "worm_getLogMessageCertificate" (der Puffer für den Parameter "certificate" sollte dabei mindestens 4k groß sein).

VG U. Kleinert

2 Personen haben diese Frage

So habe ich den PublicKey für den QR-Code ausgelesen


CString Worm::TseGetPublicKey()
{
    WormInfo *info = worm_info_new(m_ctx);
    if (info == NULL)
    {
        return "";
    }
    WormError ret = worm_info_read(info);
    if (ret != WORM_ERROR_NOERROR)
    {
        return "";
    }
    const unsigned char *publicKey;
    worm_uint length;
    worm_info_tsePublicKey(info, &publicKey, &length);
    return base64_encode( publicKey, length );
}
 

Antwort

Hallo Dennis Glittenberg,


die Methode von Thomas Egge ist perfekt, um den PublicKey für die Ausgabe (QR-Code, DSFinV-K) zu nutzen.

Zur Verifizierung der Signaturen (mit openssl) benötigt man jedoch den PublicKey im PEM-Format.
Diesen gewinnt man am Einfachsten aus dem Zertifikat im PEM-Format. Dazu nimmt man das erste Zertifikat der Zertifikats-Chain und speichert es als cert.pem.
Danach ruft man den Einzeiler

"openssl x509 -pubkey -noout -in cert.pem -out pubkey.pem"

auf. Die Zertifikats-Chain erhält man über der Datei *_X509.pem des Tar-Exports oder über die Funktion "worm_getLogMessageCertificate" (der Puffer für den Parameter "certificate" sollte dabei mindestens 4k groß sein).

VG U. Kleinert
Anmelden oder Registrieren um einen Kommentar zu veröffentlichen