我在两台windows计算机(均为windows 7 x86(中安装了一个证书,当我通过certmgr访问该证书的属性时,两台计算机的"使用者替代名称"部分不同。包含"2.16.76.1.3.3"的是正确的,是"CNPJ"的官方OID。我试图导出"正确"机器的证书,但没有成功。我不知道是否有办法将OID映射到"通用"名称,但我需要原始OID。安装在两台机器中的证书来自同一个文件(.pfx(。证书详细信息如下:
"错误"属性
"正确"属性
如果证书来自同一来源(同一PFX(,则Subject Alternative Name条目可能相同。不同的是,这两台计算机中的一台已经用名称(CNPJ(注册了2.16.76.1.3.3,另一台没有。
CryptRegisterOIDInfo可用于注册OID的名称/值(和其他数据(映射;据推测,"正确"的机器在某个时候被一些软件调用来注册CNPJ。
这只是一个UI显示问题(Windows CertUI尽可能使用友好名称,否则使用点小数OID(。