On Mon, 8 Apr 2024 12:41:23 GMT, Sean Mullan <mul...@openjdk.org> wrote:

>> Please review this change which fixes an issue in revocation checking of 
>> CRLs. A certificate's CRL Distribution Points extension can contain multiple 
>> Distribution Points (DPs), and each DP can contain one or more references to 
>> a CRL. These CRL references are typically specified as URLs.
>> 
>> If there is an issue fetching one of the CRLs (ex: a network error), the JDK 
>> implementation saves the exception, but continues to check for other CRLs, 
>> and if no other CRLs can be fetched, it throws the exception.  This was 
>> working for the case in which multiple CRL references were in the same DP, 
>> but not if they were in separate DPs - in that case the exception was thrown 
>> immediately and no further CRLs were checked. 
>> 
>> This also caused inconsistent behavior when the CRL cache was still fresh, 
>> as subsequent attempts would skip the CRL with the network issue (while the 
>> cache was fresh) and find the other CRLs, until the cache became stale again 
>> (30 seconds). The cache is working correctly though. The problem is that the 
>> code should continue to check for more CRLs.
>> 
>> A new test has been added which exercises both cases above.
>
> Sean Mullan has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Add previous CertStoreExceptions to suppressed exceptions.
>  - Change test to check if cert is revoked.

Thanks for addressing my feedback. The latest update seems good.

-------------

Marked as reviewed by weijun (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18656#pullrequestreview-1986487520

Reply via email to