我要求使用ISO 9796-2使用RSA签名。
我知道.Net中的RSACryptoServiceProvider
但不确定它是否支持ISO 9796-2。
我知道有DSACryptoServiceProvider
,但不确定与ISO 9796-2相比如何。
感谢任何帮助。
答案 0 :(得分:1)
我没有阅读 ISO 9796-2 标准(并且不会付费阅读;-)但是:
RSACryptoServiceProvider
仅支持PKCS#1(1.5)和OAEP填充。
DSACryptoServiceProvider
仅支持FIPS 186中定义的内容。
从技术上讲,你可以在.NET中提供自己的填充类,因为它的设计是可扩展的。
可悲的是(即实际上)RSACryptoServiceProvider
不允许您执行真实 EncryptValue
(或DecryptValue
),因此您需要另一个RSA实施(例如使用Mono的托管版。)