我需要使用Bouncy Castle编写Java程序来验证证书链。通过搜索引用,我找到了cert.path包,并尝试使用它。 Here是我编写的代码。但是,当我以Facebook证书链作为输入运行它时,我得到了一个奇怪的行为。该链由服务器证书,中间CA证书和根自签名证书组成。如果输入为:
,则验证结果正常如果输入是整个证书链,则验证失败,未处理的扩展密钥用法和基本约束。有人能指出我如何使用系统根证书正确验证链? 我在网上找到了很多使用java.security包的例子,但由于我正在比较不同的库来验证证书,我想尽可能只使用Bouncy Castle包执行任务。
谢谢,
尼古拉斯