使用jmrtd在Android(java)中进行ePassport被动身份验证

使用jmrtd在Android(java)中进行ePassport被动身份验证,android,authentication,certificate,x509certificate,ca,Android,Authentication,Certificate,X509certificate,Ca,我正在使用jmrtd执行passport芯片的被动身份验证。 我能够使用DSC(数字唱歌证书)验证签名。 但我无法使用CSC(国家/地区签名证书)验证DSC 请提供一些方法,提前谢谢。对您来说可能太晚了,但万一有人遇到这种情况:) 要做到这一点,您基本上需要使用CSCs创建一个信任存储。基本上,他们只是证书颁发机构,需要这样对待 第一步是创建一个包含您想要/需要的所有CSC的PKCS12,由于某些原因,这无法使用OpenSSL完成,但幸运的是keytool是您的朋友: 下一步是创建信任存储,例如

我正在使用jmrtd执行passport芯片的被动身份验证。 我能够使用DSC(数字唱歌证书)验证签名。 但我无法使用CSC(国家/地区签名证书)验证DSC


请提供一些方法,提前谢谢。

对您来说可能太晚了,但万一有人遇到这种情况:)

要做到这一点,您基本上需要使用CSCs创建一个信任存储。基本上,他们只是证书颁发机构,需要这样对待

第一步是创建一个包含您想要/需要的所有CSC的PKCS12,由于某些原因,这无法使用OpenSSL完成,但幸运的是keytool是您的朋友:

下一步是创建信任存储,例如,通过以下示例:

上述步骤所需的密钥库创建如下:

私有密钥库createStore(InputStream pkcs12Stream){
final KeyStore KeyStore=KeyStore.getInstance(“PKCS12”);
load(pkcs12Stream,“password.toCharArray());
返回密钥库;
}
最后,根据我链接的第一个答案,您只需使用您的trustmanager(实际上,正如预期的那样,只有一个)进行验证。
authType
参数似乎是
“RSA\u EXPORT”
,但尚未找到原因


我认为这应该可以解决问题:)

对你来说可能太晚了,但万一有人遇到这种情况:)

要做到这一点,您基本上需要使用CSCs创建一个信任存储。基本上,他们只是证书颁发机构,需要这样对待

第一步是创建一个包含您想要/需要的所有CSC的PKCS12,由于某些原因,这无法使用OpenSSL完成,但幸运的是keytool是您的朋友:

下一步是创建信任存储,例如,通过以下示例:

上述步骤所需的密钥库创建如下:

私有密钥库createStore(InputStream pkcs12Stream){
final KeyStore KeyStore=KeyStore.getInstance(“PKCS12”);
load(pkcs12Stream,“password.toCharArray());
返回密钥库;
}
最后,根据我链接的第一个答案,您只需使用您的trustmanager(实际上,正如预期的那样,只有一个)进行验证。
authType
参数似乎是
“RSA\u EXPORT”
,但尚未找到原因


我认为这应该可以解决问题:)

您有关于如何使用JMRTD启动被动身份验证的信息/参考资料吗?您有关于如何使用JMRTD启动被动身份验证的信息/参考资料吗?