Назад | Перейти на главную страницу

Как сгенерировать пару сертификат / ключ x509 из pem файла корневого центра сертификации

У меня есть pem-файл корневого сертификата с сервера Linux. Приложение, которому необходимо подключиться к этому серверу, сообщает мне, что ему нужны pem-файл publicCert и pem-файл privateKey для связи с сервером.

Насколько я понимаю, корневой сертификат, который у меня есть, может затем сгенерировать n сертификатов в качестве промежуточных. Проблема в том, что я изо всех сил пытаюсь заставить openssl делать то, что я хочу, поэтому мой вопрос в том, как мне их точно сгенерировать? Я думал, что я скормлю openssl путь к корневому сертификату, а затем он выгрузит нужный мне publicCert / privateKey.

Я создал сертификаты на сервере, как описано Вот. Теперь мне нужно установить на устройство ниже по потоку, как описано Вот.

Для ввода клиентского соединения, которое мне нужно использовать, требуются следующие параметры:

connString: 'HostName=foo'
protocol: MQTT
publicKeyCertificateString: certificateString or path to certificate
privateKeyString: keyString or path to key

new DeviceClient(connString, protocol, publicKeyCertificateString, privateKeyString);

Если вы не запустите корневой центр сертификации (CA), вы не сможете сгенерировать сертификаты с корневым сертификатом. У вас, вероятно, есть корневые «общедоступные» сертификаты, а не «частные» ключи, которые контролируются центром сертификации. Вы можете создавать только промежуточные сертификаты с корневым закрытым ключом.

Если бы вы могли сделать то, что предлагаете, то любой человек в мире смог бы сам генерировать сертификаты, которые были бы привязаны к доверенному корневому ЦС, что противоречит цели корневого ЦС.