我刚接触RSA加密方法......我需要验证来自设备的传入签名。问题是,我必须使用delphi IDE,而delhi没有实现一些RSA库。我在网上找到了这个网站上的FGInt软件包:http://submanifold.be/。我下载它(RSA.zip)并且我在黑暗中 - 我不知道,我怎么能把我的公钥模数和指数放到这个代码中。
情况如下: 我有来自设备的签名,我需要与计算的消息(挑战)进行比较(验证)。我还有一个带有嵌入式公钥的X509证书。我可以从这些证书中提取这个公钥。我也可以从公钥中提取模数和指数。我的问题是,我不知道如何将获得的模数和指数放到FGInt包的RSAVerify程序中。模数是128个字节(我把它作为一个六进制数组)long和exponent的值为65537。
有人可以帮助解决我的问题,如何将模数和指数值插入到FGint包中的程序RSAVerify中?
答案 0 :(得分:3)
如果您需要RSA功能并且在Windows上运行,请使用MSCRYPTO API。信息在此处:http://en.wikipedia.org/wiki/Microsoft_CryptoAPI和此处:http://msdn.microsoft.com/en-us/library/windows/desktop/aa380255(v=vs.85).aspx
如果您打算在美国境外提供应用程序,则在您的应用程序中加入自定义或第三方加密逻辑将使您的应用程序属于美国出口限制的“软件弹药”类别。您必须申请出口许可证,由美国政府代表审查您的代码等,否则将面临严重罚款和可能出口违规的刑事指控。
如果你的应用程序改为链接到MSCRYPTO库,则不必执行任何操作。 Microsoft负责获取Windows附带的MSCRYPTO库的导出许可。
答案 1 :(得分:0)
感谢您的回答dthorpe ...我们不想冒微软许可隐私或美国出口限制的任何问题。我们正在为delphi寻找一些免费的软件包。 FGint软件包对我们来说似乎是正确的解决方案,但是我们在将模数和指数插入到程序“RSAVerify”(FGint.pas的一部分)中时遇到了问题。我们的问题在于将公钥值插入此过程......