You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CngKey的SetProperty总是更新密钥,而Assign permission to machine key会这样做。这样的行为是正确的吗?

根据问题描述,CngKey的SetProperty方法会更新密钥,而Assign permission to machine key方法可能也会更新密钥。下面是一个示例代码,展示如何使用CngKey类来设置属性并为机器密钥分配权限

using System;
using System.Security.Cryptography;

public class Program
{
    public static void Main(string[] args)
    {
        // 创建或打开机器密钥
        CngKey key = CngKey.Open("MachineKey", CngProvider.MicrosoftSoftwareKeyStorageProvider, CngKeyOpenOptions.MachineKey);

        // 设置密钥的属性
        CngProperty property = new CngProperty("MyProperty", BitConverter.GetBytes(12345678), CngPropertyOptions.None);
        key.SetProperty(property);

        // 获取密钥的属性
        CngProperty retrievedProperty = key.GetProperty("MyProperty");
        Console.WriteLine($"Property Value: {BitConverter.ToInt32(retrievedProperty.Value)}");

        // 为机器密钥分配权限
        CngKeyAccessRule rule = new CngKeyAccessRule("Everyone", CngKeyRights.FullControl, AccessControlType.Allow);
        CngKeySecurity security = key.GetAccessControl();
        security.AddAccessRule(rule);
        key.SetAccessControl(security);

        Console.WriteLine("Permissions assigned to machine key.");

        Console.ReadLine();
    }
}

在上面的示例中,首先使用CngKey.Open方法创建或打开一个名为"MachineKey"的机器密钥。然后,使用CngKey的SetProperty方法设置一个名为"MyProperty"的属性,并将其值设置为12345678。接下来,使用GetProperty方法获取该属性的值,并将其打印出来。

然后,使用GetAccessControl方法获取机器密钥访问控制列表(ACL)。接着,创建一个CngKeyAccessRule对象,指定"Everyone"用户组具有完全控制权限,并将该规则添加到ACL中。最后,使用SetAccessControl方法将更新后的ACL应用于机器密钥

以上代码演示了如何使用CngKey的SetProperty方法设置属性和为机器密钥分配权限。根据你的需求,你可以根据具体的场景进行修改和调整。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

CngKey的SetProperty总是更新密钥,而Assign permission to machine key会这样做。这样的行为是正确的吗?-优选内容

AssignPermissionToUser
调用AssignPermissionToUser接口给指定用户分配权限。 使用限制子账号已授权该应用的管理员或成员权限。详情请参见权限管理。 使用说明接口名称:AssignPermissionToUser 请求方式:POST 接口地址:/?Action=AssignPe... service_keys array of string 否 ["app_monitor"] 分配权限的服务列表,当分配角色为管理员时无需填。 role_type int8 是 1 分配的用户角色。 1:普通成员 2:管理员,管理员拥有该主账号下所有应用所有服...
AssignServicePermissionToUser
调用AssignServicePermissionToUser接口给指定用户分配服务权限。 使用限制子账号已授权该应用的管理员或成员权限。详情请参见权限管理。 使用说明接口名称:AssignServicePermissionToUser 请求方式:POST 接口地址... 是否必选 示例值 描述 user_id array of int32 是 [123] 用户ID。 service_keys array of string 是 ["app_monitor"] 分配权限的服务key列表,全部为all_monitor。 返回参数参数 类型 示例值 描述...
AssignAppPermissionToUser
调用AssignAppPermissionToUser接口给指定用户分配应用权限。 使用限制子账号已授权该应用的管理员或成员权限。详情请参见权限管理。 使用说明接口名称:AssignAppPermissionToUser 请求方式:POST 接口地址:/?Action=AssignAppPermissionToUser&Version=2022-10-12 请求参数 Query参数 类型 是否必选 示例值 描述 Action String 是 AssignAppPermissionToUser 请求名称。 Version String 是 2022-10-12 请求版本。...
API概览
更新应用 资源用量API名称 功能 GetAccountQuotaUsedTrend 获取主账号下的资源用量趋势 GetAidQuotaUsedTrend 获取指定应用指定服务下的资源用量趋势 服务API名称 功能 GetServiceList 获取服务列表 权限API名称 功能 GetSubUsers 获取主账号下的全部子账号 GetAssignedPermissionUsers 获取已分配权限的用户列表 AssignPermissionToUser 给指定用户分配权限 RemoveUserPermission 删除指定用户权限 Ass...

CngKey的SetProperty总是更新密钥,而Assign permission to machine key会这样做。这样的行为是正确的吗?-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询