我已經在窗口中使用BCryptSignHash與ECDSA算法簽署了哈希值。輸出簽名緩衝區的長度爲64個字節。我還使用BCryptGenerateKeyPair函數(BCRYPT_ECDSA_P256_ALGORITHM算法)生成了公鑰和私鑰blob,並使用該函數對散列進行了簽名。瞭解BCryptSignHash輸出簽名
我必須在linux中使用此密鑰對驗證此簽名。我能夠使用鏈接「http://msdn.microsoft.com/en-us/library/windows/desktop/aa375520%28v=vs.85%29.aspx」解密生成的公鑰 - 私鑰對,並能夠在Linux中使用相同的密鑰對。
生成的64字節簽名理想情況下應該是簽名對(r,s)(http://en.wikipedia.org/wiki/Elliptic_Curve_DSA)。
有沒有辦法理解生成的64字節簽名,以便我可以將簽名blob內容映射到(r,s)對在Linux中並驗證它?
還是有更簡單的方法來驗證在linux生成的簽名?
謝謝, ˚F
感謝您的信息..我試過crypto ++,並且我能夠在Windows和Linux應用程序級別使用簽名和密鑰。 但現在我得到了另一個問題來處理... | 正在Windows應用程序級別完成簽名。驗證必須在2個地方完成 - linux應用程序和Windows驅動程序。 Crypto ++在Windows應用程序級別創建密鑰時非常有用,並且我在數據上簽名。使用相同的密鑰,我能夠在Linux應用程序中驗證數據。現在我遇到的問題是我不能在Windows驅動程序中使用crypto ++。 是否有3種格式的公共圖書館? – Fazlin