Ric*_*and 3 .net java asn.1 certificate x509
我有一个包含多个 Web 应用程序的网站,这些应用程序依赖于最终用户使用他们的 x509 客户端证书进行身份验证。我们观察到,同一个证书在由 .Net 应用程序处理时显示的主题 DN 与由 Java 应用程序处理时不同的主题 DN,当 DN 包含电子邮件地址属性时。
在 .Net 中,我看到服务器变量 CERT_SUBJECT 是这样的:
C=US, S=Delaware, L=Wilmington, O=IDFC Dev, OU=Test, CN=Richard Sand, E=rsand@idfconnect.lan
Run Code Online (Sandbox Code Playgroud)
在 Java 中,当我探索同一个证书(同一个浏览器会话)的 x509 证书对象时,主题是:
EMAILADDRESS=rsand@idfconnect.lan, CN=Richard Sand, OU=Test, O=IDFC Dev, L=Wilmington, ST=Delaware, C=US
Run Code Online (Sandbox Code Playgroud)
忽略属性的颠倒顺序(这是一个已知的现象),我们遇到的问题是,在 Java 中,电子邮件地址属性是EMAILADDRESS而在 .Net 中,相同的属性显示为E。
进一步挖掘,OpenSSL 显示了以下输出:
openssl.exe pkcs12 -in my.pfx -info
subject=/C=US/ST=Delaware/L=Wilmington/O=IDFC Dev/OU=Test/CN=Richard Sand/emailAddress=rsand@sidfconnect.lan
Run Code Online (Sandbox Code Playgroud)
而当我在 IE 或 Firefox 证书存储中查看相同的证书时,它们显示 E=,例如:
E = rsand@idfconnect.lan
CN = Richard Sand
OU = Test
O = IDFC Dev
L = Wilmington
S = Delaware
C = US
Run Code Online (Sandbox Code Playgroud)
我知道在一些代码中填充一些代码以将主题 DN 的一个“解释”更改为另一个似乎微不足道,但问题是我们有两个我们无法更改的 COTS 产品,在我们开始解决我想要的问题之前了解哪个(或两者都是?)正确,以及某些层上是否存在导致差异的内容。RFC 似乎都引用了 EMAILADDRRESS,但正如所说的 IE 和 FF 以及 .Net 应用程序似乎都在使用“E”
谁能解释为什么会这样?
谢谢!
| 归档时间: |
|
| 查看次数: |
3943 次 |
| 最近记录: |