4

Ich bewerte Bibliothek für digitale Signaturen. Ich habe einen 1024-Bit-RSA-Schlüssel erstellt und versucht, damit 260 Byte Text zu signieren. Nach der Änderung von einem oder zwei Zeichen im Text ist die Unterschrift noch gültig. Ist das in Ordnung? Oder vielleicht ist es ein Problem mit dieser Bibliothek. Das Ändern von nur einem Zeichen hat eine entscheidende Auswirkung. Muss ich einen größeren Schlüssel erstellen?Lockbox digitale Signatur Komponenteproblem

UPDATE

die Bibliothek testen ich die Demo-Anwendung, die mit ihm kommt. Ich habe ein 1024 RSA-Schlüsselpaar generiert und dann die digitalen Signaturfunktionen ausprobiert. Zuerst habe ich mit einer echten 260 Bit Textdatei versucht und herausgefunden, dass ich einige Zeichen darin ändern kann und die Signatur noch gültig ist. Dann verengt ich es ein wenig an die followinf string:

AAAAAAAAAAAAAAAAAAAAAAAAA 
AAAAAAAAAAAAAAAAAAAAAAAAA 
AAAAAAAAAAAAA 8 

Und es funktioniert immer noch, wenn ich die Änderung der ‚8‘ Charakter. Ich könnte es wahrscheinlich noch enger machen.

Der Code, der die Validierung durchführt, ist:

Signatory1: TSignatory; 
.... 

var 
    DocumentStream, SignatureStream: TStream; 
.... 

DocumentStream := TFileStream.Create(edtRSADocumentFile.Text, fmOpenread); 
try 
SignatureStream := TFileStream.Create(edtRSASignatureFile.Text, fmOpenread); 
try 
Res := Signatory1.Verify(DocumentStream, SignatureStream) 
finally 
    SignatureStream.Free 
end; 
finally 
    DocumentStream.Free; 
end; 
+2

Welche Version von LockBox verwenden Sie? Das "3.0" ist ein Ein-Mann-Neuschreiben, es sieht so aus, als ob es nicht viel vom ursprünglichen Code benutzt und seine Qualität ist noch zu bewerten. Oder verwenden Sie 2.07 (das letzte von TurboPower veröffentlicht)? –

+0

Ich benutze die neueste (22-Oct-2010) Version 3.1.0.0. – Max

+0

@ldsandon. Ich habe jetzt die alte 2003 Version ausprobiert und es hat gut funktioniert. Es scheint also, dass es einen Bug in dem neuen gibt. Können Sie Ihre Antwort posten, damit ich sie annehmen kann? – Max

Antwort

0

LockBox 3 hat einen Fehler bei der Implementierung der digitalen Signaturkomponente. LockBox 2.07 kann Signaturen korrekt signieren und überprüfen, aber das Laden/Speichern von Schlüsseln funktioniert in Delphi 2010 nicht.

+0

Fehler jetzt behoben. Nebenbei, Lockbox hat ein Support-Forum, wo Sie über jeden gefundenen Fehler posten können. Support ist aktiv, Probleme sollten schnell gelöst werden. –

+0

Danke. Ich habe Lockbox 2.07 bereits geändert, also funktioniert es für mich, aber ich werde den neuen Lockbox 3 Build versuchen. – Max

1

Erstens würde ich nichts falsch mit der Bibliothek übernehmen, wie es seit Jahren verwendet worden ist. Sie sollten nicht in der Lage sein, die Eingaben zu ändern und dieselbe Signatur zu verwenden, um sie zu validieren, und es funktioniert. Keysize würde keine Rolle spielen.

Um echte Antworten zu erhalten, würde ich Ihre Frage erweitern - welche Version von Delphi? Kannst du etwas Code zeigen?

+0

Ich benutze Delphi 2010. Der Code ist eine Demo-Anwendung, die mit der Bibliothek geliefert wird. – Max

+0

Ich habe meine Frage – Max

+0

aktualisiert "* Zuerst würde ich nichts falsches mit der Bibliothek annehmen, da sie seit Jahren benutzt wird *" - So war OpenSSL. – JensG