我已经使用带有 ECDSA 算法的BCryptSignHash在 Windows 中签署了一个哈希值。输出签名缓冲区的长度为 64 字节。我还使用BCryptGenerateKeyPair函数(BCRYPT_ECDSA_P256_ALGORITHM 算法)生成了公钥和私钥 blob,并使用该函数对哈希进行了签名。
我必须在 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 内容映射到 linux 中的 (r,s) 对并验证它?
或者有没有更简单的方法来验证linux中生成的签名?
谢谢, F