Azure IoT RegistryManager,阻止重复使用证书
Azure IoT RegistryManager, block reusing certificates
我正在尝试查找是否可以使用 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 执行此操作。
Alternatively I want to be able to view all existing thumbprints so i
can manually check before registering.
您可以获得这样的现有指纹:
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);
}
}
我正在尝试查找是否可以使用 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 执行此操作。
Alternatively I want to be able to view all existing thumbprints so i can manually check before registering.
您可以获得这样的现有指纹:
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);
}
}