Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure IoT RegistryManager,阻止重用证书_C#_Azure_Iot - Fatal编程技术网

C# Azure IoT RegistryManager,阻止重用证书

C# Azure IoT RegistryManager,阻止重用证书,c#,azure,iot,C#,Azure,Iot,我试图找出如果证书的指纹已经在另一台设备上使用,是否可以使用RegistryManager使其不注册设备 _registryManager = RegistryManager.CreateFromConnectionString(_connectionString); Microsoft.Azure.Devices.Device device; try { Console.WriteLine

我试图找出如果证书的指纹已经在另一台设备上使用,是否可以使用RegistryManager使其不注册设备

_registryManager = RegistryManager.CreateFromConnectionString(_connectionString);
            Microsoft.Azure.Devices.Device device;

            try
            {
                Console.WriteLine("Registering Device using X.509 certificate for authentication");
                device = await _registryManager.AddDeviceAsync(new Microsoft.Azure.Devices.Device(deviceId)
                {
                    Authentication = new AuthenticationMechanism()
                    {
                        X509Thumbprint = new X509Thumbprint()
                        {
                            PrimaryThumbprint = certificate2.Thumbprint
                        }
                    }
                }).ConfigureAwait(false);
            }
所以,如果上面的代码被调用,而另一个设备有那个指纹,我希望它失败。或者,我希望能够查看所有现有指纹,以便在注册前手动检查

我无法通过RegistryManager实现这一点

或者,我希望能够查看所有现有的指纹,以便 可以在注册前手动检查

您可以获得如下现有指纹:

        var _registryManager = RegistryManager.CreateFromConnectionString(_connectionString);
        var devices = await _registryManager.GetDevicesAsync(100); //Here I use 100 for testing purpose. Replace this value with yours.
        foreach (var dev in devices)
        {
            if (dev.Authentication.X509Thumbprint.IsValid(false))
            {
                var primaryThumbprint = dev.Authentication.X509Thumbprint.PrimaryThumbprint;
                var secondaryThumbprint = dev.Authentication.X509Thumbprint.SecondaryThumbprint;
                Console.WriteLine("primaryThumbprint:" + primaryThumbprint);
                Console.WriteLine("SecondaryThumbprint:" + SecondaryThumbprint);
            }
        }