PHP openssl_pkcs7_verify Funktioniert nicht

6

Ich benutze pkcs7, um ein Dokument zu signieren, und alles funktioniert gut, das Problem ist, dass der Befehl zum Überprüfen des Zeichens nicht funktioniert, immer false zurückgeben. Ich versuche, den Terminal-Befehl in die Datei zu verwenden und funktioniert gut.

Zeichenbefehl:

%Vor%

Überprüfen Sie den Befehl:

%Vor%

Terminalbefehl:

%Vor%


EDIT 1
Ich mache Tests in meinem Code und entdecke, ob ich mein Zeichen mit nur PKCS7_DETACHED oder PKCS7_BINARY erstelle, funktioniert das verify , aber beide zusammen erhalte ich den Fehler. Warum passiert das?

    
Pedro Soares 02.07.2017, 19:15
quelle

1 Antwort

3

Hier mit PHP 7 kann ich Ihr Problem reproduzieren. Bei beiden Flags schlägt die Überprüfung fehl.

Vielleicht DIESE URL kann Ihnen helfen., das Teil spricht darüber.

  

SMIME -sign "detached" "" attachiert "den Inhalt ähnlich wie es ist   -binär und text-kanonisiert ohne und signiert das. SMIME -verify erkennt "detached", aber (in multi_split) kanonisiert immer beide   Teile vor der Verwendung von ihnen. Für Inhalte, die nicht kanonisch gesendet wurden (mit   -sign -binary oder äquivalent) Dies ändert den signierten Inhalt und schlägt fehl. Inhalt, der ursprünglich kanonisch war   kanonisch oder vom Sender kanonisiert) verifiziert und ähnlich ist   Ausgabe, ohne festzustellen, ob der Absender es geändert hat.

In den Dokumenten können Sie lesen, dass der Parser nicht so intelligent ist:

  

BUGS

     

Der MIME-Parser ist nicht sehr clever: Er scheint die meisten Nachrichten zu verarbeiten   das habe ich darauf geworfen aber es kann sich an anderen ersticken.

Ich hoffe, es hilft!

    
Saleiro 06.07.2017, 19:33
quelle

Tags und Links