Hello Vadims,
The CR_PROP_CERTCDPURLS property always returns the CDP URLs of partition zero and does not interpret the partition index even if it is passed as higher USHORT. We will need to add a new property similar to CR_PROP_PARTITIONED_BASECRLPUBLISHSTATUS to support this. Additionally, when Config_CRLPartition_PartitionZero_Exclusive is set to TRUE, the CDP URLs with <CRLPartitionIndex> are returned as-is. This behavior is intentional, ensuring that the returned URLs remain inaccessible for the following reason:
CR_PROP_CERTCDPURLS returns an array of CDP URLs that clients can use to download the CRLs. Clients try the URLs in a particular order until they find an URL that's accessible. They do not attempt all URLs or scan all the CRLs when determining revocation status. Therefore, it would be incorrect to return only the CDP URL of partition zero when it's configured to be exclusive. Instead, this must be provided through a new property, ensuring that clients are explicitly aware they are contacting a CA with CRL partitioning enabled and that partition zero CRL does not represent the full CRL. This new property would also allow you to download the CDP URLs of all other partitions. At present, however, we do not see a need to implement this.
Regards,
Sreekanth Nadendla
Microsoft Windows open specifications