从.jks文件中获取.p7b文件

时间:2014-03-26 09:45:00

标签: single-sign-on x509certificate saml jks p7b

我有一个.Net SAML实现,用于验证.p7b文件中PKCS 7 certificate的断言签名。

我的客户拥有基于Java的身份提供商。他们只能在Java key store .jks文件中提供证书。

我可以验证其身份提供程序发送的断言,但我无法检查这些断言是否由受信任的提供程序签名,而无需根据Java密钥存储区中的证书进行验证。

我可以在网上找到有关如何将.p7b证书添加到.jks文件的在线,但没有关于如何撤销该流程的信息。

如何从提供的.p7b文件中获取.jks证书(.Net和Windows可以打开)?

或者我正在使用原生X509Chain实现将.p7b加载到.Net中。如果我无法转换.jks有没有办法在.Net中加载它,以便我可以检查断言的签名?

1 个答案:

答案 0 :(得分:1)

事实证明,Java中有一个命令行实用程序可以满足我的需要。在Java运行时目录(我机器上的C:\Program Files (x86)\Java\jre7\bin)中有一个名为keytool的实用程序(我的可读性换行符):

>keytool -importkeystore 
         -srckeystore clientStore.jks -srcstoretype JKS 
         -destkeystore outputStore.p12 -deststoretype PKCS12

这会产生一个名为outputStore.p12的输出存储,我可以使用X509Certificate2Collection.Import()加载.Net