Обновление сертификата на ядре Windows iot без концентратора IoT Azure - PullRequest
1 голос
/ 03 мая 2019

У нас есть устройство Windows IoT без подключения к интернету. Как мы можем обновить SSL сертификат так же, как в Azure IoT Hub.

Настройка безопасности X.509 в концентраторе IoT Azure

Как мы можем сделать это в C #?

1 Ответ

0 голосов
/ 03 мая 2019

См. Следующий код. CertificateEnrollmentManager может использоваться для импорта сертификата из сообщения обмена личной информацией (PFX).Во-первых, вам нужно прочитать удаленный файл из URI, проанализировать буфер в строку base64, а затем импортировать сертификат в ваш магазин.

            string pfxCertificate = null;
            string pfxPassword = "";

            var remoteUri = "http://XXXXXXXX";
            IRandomAccessStreamReference thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri(remoteUri));
            file = await Windows.Storage.StorageFile.CreateStreamedFileFromUriAsync(".pdf",new Uri(remoteUri), thumbnail);

            var buffer = await Windows.Storage.FileIO.ReadBufferAsync(file);
            using (DataReader dataReader = DataReader.FromBuffer(buffer))
            {
                byte[] bytes = new byte[buffer.Length];
                dataReader.ReadBytes(bytes);
                // convert to Base64 for using with ImportPfx
                pfxCertificate = System.Convert.ToBase64String(bytes);
            }

            await CertificateEnrollmentManager.UserCertificateEnrollmentManager.ImportPfxDataAsync(
                        pfxCertificate,
                        pfxPassword,
                        ExportOption.NotExportable,
                        KeyProtectionLevel.NoConsent,
                        InstallOptions.None,
                        "Test");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...