有没有办法以编程方式编辑给定x.509证书启用的目的?虽然可以通过证书mmc快照(下面的超链接)获得此功能,但我需要通过代码执行操作。最好使用C#。
修改证书属性
MMC可以执行Crypto API所能执行的任何操作,并且还有一堆与证书相关的函数,例如CertAddEnhancedKeyUsageIdentifier或CertSetCertificateContextProperty。在Example C Program: Getting and Setting Certificate Properties中有一个完整的示例程序,其中包括修改“增强密钥用途”,指定证书有效的用途。例如,要使证书从服务器端对SSL有效,您必须添加EKU OID 1.3.6.1.5.5.7.3.1
(又称“服务器身份验证”),请参见Configuring Certificate for Use by SSL。
C# 中的等效类是 X509KeyUsageExtension。请参阅该类规范的链接以获取示例。