I'm currently working on implementing an Enterprise Certification Authority for a customer whose network is not fully connected; it spans several geographical sites, and some of them don't have routing to the site where the CA is located.
In order to work around this, I used the Certificate Enrollment Web Service, which allows for certificate enrollmente via HTTPS; the service is exposed through a public name and IP Address, and computers in the remote sites can reach it this way.
The solution works great for all kind of certificates; however, the domain controllers in the remote sites are unable to obtain a certificate using the template "Kerberos Authentication" (which recent DCs try to use when autoenrollment is enabled); the error is a generic "the RPC server is unavailable", but it happens on the CA itself, getting logged in the failed requests.
This puzzled me for a while, until I decided to look at the network traffic; lo and behold, it seems that when a request is made for a certificate using the template "Kerberos Authentication", the CA tries to connect back to the domain controller which made the request. This is not possible in the customer network, and it seems to be the reason why the request fails.
I guess the CA is somewhat trying to validate that the computer requesting the certificate is actually a domain controller; however, I couldn't find any documentation for this, and such a "callback" seems contrary to the client/server logic of certificate requests.
Is this behaviour documented anywhere?
Can it be turned off?
The O.S. on the CA is Windows Server 2019.
Edit
There are four domains in the AD forest; the CA is in the forest root domain.
The behaviour is the same for all DCs in all domains: whenever a request is made for a "Kerberos Authentication" certificate, either manually or via autoenrollment, the CA tries to contact the requesting DC on ports 445 and 139 (strangely enough, there is no actual LDAP, Kerberos or RPC traffic); when this fails, the request gets denied with the error "denied by policy module" and the status code "the RPC server is unavailable".
This only happens for "Kerberos Authentication" certificates; all other certificates can be enrolled successfully via CES, including "Domain Controller Authentication" and "Directory Email Replication".
I also tested this for DCs which can actually talk with the CA: if traffic is blocked from the DC to the CA, thus forcing the request to use CES, but not the other way around, the requests succeeds; if traffic is blocked from the CA to the DC, the request fails.