CngKey, как я могу добавить accessrule к ранее созданным и назначенным правилам к машинному ключу? - PullRequest
0 голосов
/ 14 июня 2019

Как я могу добавить правило доступа (CryptoAccessRule) к уже / ранее созданному и назначенному (уже назначенному некоторому правилу доступа по умолчанию), который является Crypto api?

У меня уже есть созданный crypto api.Я использовал приведенный ниже код, чтобы добавить правило шифрования доступа к этому ключу.Но, это не удалось и вернул мне исключения «недопустимые флаги» в HasProperty / GetProperty.Пожалуйста, предложите.Обратите внимание, что это ключ Crypto api, поэтому он не содержит параметр CngProperty, но поскольку Cng api обеспечивает совместимость с обратным словом, должен быть какой-то способ извлечения ранее примененных CryptoAccessRules из CryptoApi с использованием RSACng.

NCRYPT_SECURITY_DESCR_PROPERTY="Security Descr";
DACL_SECURITY_INFORMATION=(CngPropertyOptions)4;
if (cngKey.HasProperty(NCRYPT_SECURITY_DESCR_PROPERTY, CngPropertyOptions.Persist | DACL_SECURITY_INFORMATION))
                {
                    CngProperty prop = cngKey.GetProperty(NCRYPT_SECURITY_DESCR_PROPERTY,
                        DACL_SECURITY_INFORMATION);
                    sec.SetSecurityDescriptorBinaryForm(prop.GetValue());

                }
               CryptoKeyAccessRule rule =
                new CryptoKeyAccessRule(new SecurityIdentifier(WellKnownSidType.LocalSystemSid, null),
                    CryptoKeyRights.GenericAll, AccessControlType.Allow);



            sec.AddAccessRule(rule);

Ожидается: - Я хочу добавить правило доступа к ранее существующим правилам доступа по умолчанию в ключе машины.

актуально: - Получено исключение «Заданы недопустимые флаги.!».

Пожалуйста, предложите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...