首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有单个密钥的MS CA证书生成,C#

带有单个密钥的MS CA证书生成,C#
EN

Stack Overflow用户
提问于 2015-04-08 20:27:45
回答 1查看 2.3K关注 0票数 1

目前,我正在开发一个Web应用程序,该应用程序将用作认证注册的MS接口。在应用程序生成csr并将其发送到CA之后,错误就会出现。证书应具有以下结构:

代码语言:javascript
运行
复制
Serialnumber = UserId, CN = FirstName SecondName, O = Organization, P = PhoneNumber

下面是一个真实的例子:

代码语言:javascript
运行
复制
Serialnumber = 200554041000, CN = John Farel, O = SRL Insign, P = 60182209, C = MD

显示的错误是:

CertEnroll::CX500DiffinguishedName::Encode:该字符串包含无效的X500名称属性键、oid、值或分隔符。0x80092023 (-2146885597)

如果我删除P或在电话上更改它,一切顺利,证书正在生成。

第二!)证书生成后,主题DN包含所有内容,bun,而不是序列号和电话。

我在Microsoft 2008上使用MS CA,CA密码服务提供商:,Hash算法: SHA1。

欲知更多信息,请留言。谢谢你的期待!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 05:22:03

很少有事情需要知道:

1) "PhoneNumber“属性被命名为"Phone",而不是"P”或其他任何东西。

编辑:

2)我检查了SDK,不幸的是,似乎不可能在subject中包含Phone RDN属性。在头文件中,只能添加以下属性:

代码语言:javascript
运行
复制
//+--------------------------------------------------------------------------
// Name properties:

#define wszPROPDISTINGUISHEDNAME   TEXT("DistinguishedName")
#define wszPROPRAWNAME             TEXT("RawName")

#define wszPROPCOUNTRY             TEXT("Country")
#define wszPROPORGANIZATION        TEXT("Organization")
#define wszPROPORGUNIT             TEXT("OrgUnit")
#define wszPROPCOMMONNAME          TEXT("CommonName")
#define wszPROPLOCALITY            TEXT("Locality")
#define wszPROPSTATE               TEXT("State")
#define wszPROPTITLE               TEXT("Title")
#define wszPROPGIVENNAME           TEXT("GivenName")
#define wszPROPINITIALS            TEXT("Initials")
#define wszPROPSURNAME             TEXT("SurName")
#define wszPROPDOMAINCOMPONENT     TEXT("DomainComponent")
#define wszPROPEMAIL               TEXT("EMail")
#define wszPROPSTREETADDRESS       TEXT("StreetAddress")
#define wszPROPUNSTRUCTUREDNAME    TEXT("UnstructuredName")
#define wszPROPUNSTRUCTUREDADDRESS TEXT("UnstructuredAddress")
#define wszPROPDEVICESERIALNUMBER  TEXT("DeviceSerialNumber")

3)避免在.NET应用程序中使用“”提供程序,因为它是CNG,而X509Certificate2不支持CNG (羞耻于.NET)。不过,建议对CA密钥使用KSP (当没有HSM时)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29524729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档