我需要知道什麼編碼C#ECDsaCng.SignData在OpenSSL中使用簽名?
https://msdn.microsoft.com/en-us/library/bb347054(v=vs.110).aspx
ECDsaCng.SignData方法(Byte [])
使用的默認情況下它的字節數組,以及如何將它轉換成由
接受了DER格式https://www.openssl.org/docs/manmaster/crypto/i2d_ECDSA_SIG.html
,這樣我可以驗證我的C#中使用的方法ECDSA_do_verify產生ECSDA簽名的OpenSSL。
我知道它的SHA1,我知道如何加載該摘要,我只是不知道ECDsaCng.SignData方法的字節編碼是什麼,也不知道如何將它轉換爲DER格式,如果我甚至需要這樣做。
你已經提到了C#中的DSA和OpenSSL中的ECDSA;哪種算法是你實際嘗試使用的?他們是不一樣的... – bartonjs
對不起,ECDsaCng.SignData方法(字節[])是什麼意思.. – Akumaburn
也請注意,任何人讀這個正確的函數是SignHash,因爲ECDSA_do_verify需要一個已知的摘要,SignData將重新哈希與.NET默認的任何東西,這是什麼導致我很麻煩。有一個使用C#鍵進行OpenSSL驗證的實現,我在我的個人檔案中的其中一個問題中已經提出了您可能想要查看的問題。這也許是有幫助的:http://stackoverflow.com/questions/24251336/import-a-public-key-from-somewhere-else-to-cngkey – Akumaburn