コード例 #1
0
        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}");
            }
        }