Cryptography CngKey上的SetProperty在为机器密钥分配权限时始终更新密钥。这是正确的行为吗?

Cryptography CngKey上的SetProperty在为机器密钥分配权限时始终更新密钥。这是正确的行为吗?,cryptography,public-key-encryption,pki,cng,Cryptography,Public Key Encryption,Pki,Cng,在给予machineKey上的访问权限时,CngKey上的SetProperty始终更新CngKey。这是正确的行为吗 我正在CngKey上设置权限ACL。当使用SetProperty对密钥设置权限时,每次我应用相同的权限时,它都会得到更新。(我最好针对不同的规则/权限进行更新)这不是RSACryptServiceProvider或CAPI的行为。它不会针对应用的相同规则进行更新,而是在应用不同规则时进行更新 这是正确的行为吗 CngProperty permissions = new CngP

在给予machineKey上的访问权限时,CngKey上的SetProperty始终更新CngKey。这是正确的行为吗

我正在CngKey上设置权限ACL。当使用SetProperty对密钥设置权限时,每次我应用相同的权限时,它都会得到更新。(我最好针对不同的规则/权限进行更新)这不是RSACryptServiceProvider或CAPI的行为。它不会针对应用的相同规则进行更新,而是在应用不同规则时进行更新

这是正确的行为吗

CngProperty permissions = new CngProperty(
    NCRYPT_SECURITY_DESCR_PROPERTY,
    sec.GetSecurityDescriptorBinaryForm(),
    CngPropertyOptions.Persist | DACL_SECURITY_INFORMATION);

cngKey.SetProperty(permissions);
对于应用的相同权限,不应更新->CngKey(CngKey具有更新的时间戳,这意味着密钥得到更新),但应在不同权限上更新


实际:->CngKey每次调用SetProperty时都会更新。

您正在读取的时间戳是什么?系统时间戳..CngKey在每次调用SetProperty..系统文件后都会更新加密/密钥。rsaCryptoService provider系统密钥在crypto/rsa/machineKeys中没有观察到相同的行为。系统时间中的时间戳不会为CAPI更新。您正在读取的时间戳是什么?系统时间戳..cngKey在每个setProperty..加密/密钥中的系统文件后获得更新。rsaCryptoService provider系统密钥在crypto/rsa/machineKeys中没有观察到相同的行为。系统时间中的时间戳不会为CAPI更新。