SubjectAltName custom policy module in MIM CM

PID_Uri 20 Reputation points
2025-11-25T07:57:57.02+00:00

Hi.

 

We are setting up a Microsoft-based smartcard issuance production system consisting of a CA server, AD server that will contain the SQL as well, and a MIM portal server.

We have an old system currently running FIM 2010 (on 2008r2 servers) in a similar way.

On the old CA with the FIM CM, while using the provided SubjectAltName custom policy module DLL we can add attributes with a full DN structure and the altname attribute is named "DirectoryAddress". In MIM CM custom policy SubjectAltName module we don't have the corresponding filed as in the FIM CM 2010.

In order to get a correct certificate information, we are required by regulation to use Hebrew in the Subject Alternate Name in a "DN" Structure. The input comes from the MIM CM certificate manager in a request file and the certificate templates gets the parameters from the submitted request from the CLM.

The question is how to use a DN attribute in the provided MIM CM SubjectAltName Custom Policy module DLL without any changes to the DLL file or implementation of FIM CM DLL files?

Is there an alternative way that we can get a SAN with a structure similar to the CN?

Windows for business | Windows Server | Directory services | Certificates and public key infrastructure (PKI)
0 comments No comments
{count} votes

Answer accepted by question author
  1. VPHAN 13,405 Reputation points Independent Advisor
    2025-11-25T08:33:50.6466667+00:00

    Hi PID_Uri,

    Regarding your issue, I'd like to provide some details in a fairly comprehensive explanation, I hope you don't mind reading this long.

    The MIM CM SubjectAltName policy module cannot emit a DN-typed SAN. The DLL shipped with MIM CM removed the DirectoryAddress support that existed in the FIM 2010 module. The remaining SAN types are limited to RFC822, UPN, DNS, URI, IP, GUID, and OtherName with fixed OIDs defined inside the module. None of these accommodate an X.500 Distinguished Name structure, and the module does not expose an extensibility point for constructing one. That is why you do not see a field equivalent to DirectoryAddress in the MIM UI.

    A DN-formatted SAN requires a SAN type of “directoryName” (GeneralName type 4). Windows CA will only emit a directoryName SAN if the request contains a DER-encoded directoryName element under the SAN extension. Since MIM CM does not generate it and you cannot modify the DLL, you cannot produce it through MIM’s policy module pathway.

    The only functional alternatives that keep the system supported and avoid DLL modification are these:

    If you embed the SAN yourself before it reaches the CA. MIM CM allows a “request file” to carry fully formed PKCS#10 attributes. If you can inject a correctly encoded directoryName SAN into the request’s Extensions sequence in the PKCS#10 body, the CA will preserve and issue it. Most deployments do not do this because MIM CM normally regenerates the SAN extension from its policy module rules, but if you disable SAN population in the policy module and leave the SAN extension intact in the submitted CSR, the CA will honor it. This requires that your CLM connector generate the ASN.1 itself from the Hebrew DN.

    If you bypass the MIM CM SAN controls and use certificate template-level custom SAN from the requester. Windows CA supports “Supply in the request”. MIM CM normally blocks this for SAN unless allowed in the template. If you mark the template to accept SAN from the request and let the MIM request pass through without rewriting the SAN, the CA will issue the directoryName SAN that the requester supplied.

    If you introduce an OtherName SAN with an OID you control that contains an ASN.1 structure mirroring a DN. This does not satisfy systems strictly requiring GeneralName type 4, but it passes regulatory checks in environments where the requirement is “DN-structured data” rather than “directoryName SAN type”. The CA and Windows certificate stores will treat it as opaque. This avoids modifying the module but only works if your compliance authority accepts OtherName as equivalent.

    If the regulation explicitly demands a true directoryName SAN, the MIM CM policy module cannot produce it. You must either inject the SAN before MIM modifies the CSR or replace the SAN creation path with a component that can emit GeneralName type 4. The MIM CM provided DLL is not capable of generating this structure, and Microsoft never published a supported alternative after retiring the FIM 2010 module.

    I hope you find something useful in this answer, and it's appreciated of you to accept it if it helps to some extent. Thanks a lot!

    VP

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. VPHAN 13,405 Reputation points Independent Advisor
    2025-11-26T12:10:01.7833333+00:00

    Good morning,

    I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer then. Should you have more questions, feel free to leave a message. Have a nice day!

    Vivian

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.