Ich muss wissen, welche CodierungC# ECDsaCng.SignData Signatur in OpenSSL verwenden?
https://msdn.microsoft.com/en-us/library/bb347054(v=vs.110).aspx
ECDsaCng.SignData Methode (Byte [])
ist für seine Byte-Array standardmäßig verwendet und wie es zu einem DER-Format von
akzeptiert konvertierenhttps://www.openssl.org/docs/manmaster/crypto/i2d_ECDSA_SIG.html
so, dass ich meine C# erzeugt in OpenSSL mit der Methode ECDSA_do_verify ECSDA Signatur verifizieren kann.
Ich kenne seine SHA1 und ich weiß, wie dieser Digest zu laden, ich weiß nur nicht, was die Byte-Codierung für ECDsaCng.SignData-Methode, noch, wie es in DER-Format konvertieren, wenn ich das überhaupt tun muss .
Sie haben DSA in C# und ECDSA in OpenSSL erwähnt; Welchen Algorithmus versuchen Sie eigentlich zu verwenden? Sie sind nicht die gleichen ... – bartonjs
Ah sorry, ECDsaCng.SignData Methode (Byte []) ist, was bedeutet .. – Akumaburn
Beachten Sie auch für jeden lesend dies die richtige Funktion ist SignHash, da ECDSA_do_verify einen bekannten Digest erwartet, und SignData wird re-Hash mit was auch immer der .NET-Standard ist und das hat mir so viel Ärger bereitet. Es gibt eine Implementierung von OpenSSL verify mit C# -Tasten, die ich in einer der Fragen unter meinem Profil gemacht habe, die Sie vielleicht auch auschecken möchten. Auch das kann hilfreich sein: http://stackoverflow.com/questions/24251336/import-a-public-key-from-irgendwo-else-to-cgnkey – Akumaburn