c# – X.509库

c# – X.509库,第1张

概述我正在寻找一个库/模块/包,我可以创建并签署X.509证书,并能够有条件地添加自定义v3扩展 – 这可能相当复杂;例如,Kerberos PKINIT使用的这个bletchful OpenSSL.cnf片段,只是代表[email protected]: [v3_extensions] subjectAltName = email:[email protected], 我正在寻找一个库/模块/包,我可以创建并签署X.509证书,并能够有条件地添加自定义v3扩展 – 这可能相当复杂;例如,Kerberos PKINIT使用的这个bletchful OpenSSL.cnf片段,只是代表[email protected]
[v3_extensions]    subjectAltname = email:[email protected],othername:pkinitSan;SEQUENCE:krb_princ_name_1[krb_princ_name_1]    realm = EXP:0,GeneralString:EXAMPLE.ORG    principal_name = EXP:1,SEQUENCE:krb_princ_seq_1[krb_princ_seq_1]    name_type = EXP:0,INTEGER:1    name_string = EXP:0,SEQUENCE:krb_principal_1[krb_principal_1]    princ0 = GeneralString:foo

我找到的所有语言(包括Perl,Python,Ruby,PHP,Bash和一些C#),使用命令行中的openssl和自动生成的.cnf文件…这是一个丑陋的过程.有没有更好的方法呢? (Ruby的’openssl’起初看起来非常好,但后来我到了PKINIT …)

解决方法 事实证明,我将这些信息正确地添加到了Ruby 1.9.3的文档中,该文档刚刚由James Britt发布 – 看看 documentation for OpenSSL::X509::Certificate,它应该回答你所有的问题.

如果OpenSSL本身支持该特定扩展,那么修改那里的示例以生成示例中列出的特定扩展应该是直截了当的.

对于更复杂的情况,例如在您的示例中,您可能仍然使用OpenSSL::X509::Extension,但遗憾的是,尚未记录.另一方面,这种自定义扩展所需的OpenSSL :: ASN1模块已经是documented for 1.9.3,其中提供的所有代码/建议也应该适用于1.9.2.您还可以使用ASN1模块创建subjectAltname的多值版本.

总结

以上是内存溢出为你收集整理的c# – X.509库全部内容,希望文章能够帮你解决c# – X.509库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1248948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存