static void registerDS(Oid oid, OidGroupEnum group, CultureInfo localeId, String cpsUrl) { String cn = computeOidHash(oid.Value); String entryDN = ActiveDirectory.AddEntry( _baseDsPath, $"CN={cn}", ActiveDirectory.SchemaObjectIdentifier); switch (group) { case OidGroupEnum.ApplicationPolicy: ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropFlags, 3); break; case OidGroupEnum.IssuancePolicy: ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropFlags, 2); if (!String.IsNullOrEmpty(cpsUrl)) { ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropCpsOid, cpsUrl); } break; } ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropCertTemplateOid, oid.Value); if (localeId == null) { ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropDisplayName, oid.FriendlyName); } else { ActiveDirectory.SetEntryProperty(entryDN, ActiveDirectory.PropLocalizedOid, $"{localeId.LCID},{oid.FriendlyName}"); } }