我可以从HSM设备获取证书,但它不会给我私钥进行签名。如何签署xml文件以及我该怎么办呢?
感谢您的帮助。
答案 0 :(得分:1)
TEngineer,
微软在这里有一篇很好的文章可以帮助你: https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-sign-xml-documents-with-digital-signatures
您需要了解的关键是HSM的作用是保护私钥,因此,在很大程度上,无法导出私钥。
好消息是没有必要的。
Windows所做的是为您提供可以由HSM等硬件设备实现的加密算法的抽象。
实际上有几个这样的抽象,我说这篇文章链接到加密服务提供商(CSP)上面的点。
基本的概念是,当你去进行加密操作时,它会被远程控制到执行'math'并返回密文的设备。
在其他平台中使用不同的抽象,它被称为PKCS#11,如果您正在寻找使用绑定到该接口的跨平台代码。此外,如果您需要使用HSM执行其他操作,您可以使用https://pkcs11interop.net/之类的内容从C#调用该接口。
赖安