2013-10-10 2 views
1

Я реализую Windows MDM. В этом случае устройство отправляет CSR, который является запросом сертификата PKCS # 10.Как изменить свойство объекта запроса на подписание сертификата программно?

Когда я иду в http://certlogik.com/decoder и декодировать этот CSR, я получаю Тема, как "CN = B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1 \ 00"

Это "\ 00", мы хотим, чтобы удалить из субъект. Из-за этого мы не можем установить приложение-концентратор компании во время регистрации.

Я хочу изменить эту тему на любое значение, такое как «CN = myMDM». Как изменить свойство объекта CSR?

ответ

0

Вы не можете изменить его, как только у вас есть запрос сертификата, поскольку CSR должны быть подписаны с вашим личным ключом, а подписание, безусловно, включает строку темы.

Итак, если вы что-то измените, вам нужно подать в отставку, что требует от вас синтаксического анализа CSR. Поэтому в основном вы должны перестроить свой CSR и просто отключить символ со значением 00 (символ нулевого терминатора), когда вы укажете свое общее имя (CN).

Вы остаетесь со следующими параметрами:

  • правильно сгенерировать CSR, как пояснялось выше,
  • изменение КСО, удаление нулевой оцененный байт и перерасчета всех длин, и пропустить проверку,
  • создайте специального создателя сертификата, который ставит правильный объект, например, из CSR, после проверки или пропуска проверки подписи CSR;
+0

Мы генерируем сертификат (который должен быть возвращен устройству) с использованием этой CSR. Поскольку объект CSR содержит нулевой символ, поэтому сертификат, созданный с использованием CSR, также содержит нулевой символ в своем объектном свойстве. До этого нулевого символа приложение-концентратор не устанавливается во время регистрации. Вот почему мне нужно сменить тему сертификата. – Vaibhav

+0

Да, я понимаю, что вы * хотите *, но вы не можете сделать это с помощью каких-либо стандартных библиотек создания сертификатов. Сделал ваши варианты еще более ясными в ответе. –

+0

@Vaibhav, как вы смогли это решить? –

2

Допускается, чтобы предмет сертификата отличался от предмета PKCS № 10 (то есть CSR). См. Параметр -subj для команды «req» OpenSSL.

По причинам, связанным с этой способностью, рассмотрите это; Ваш CSR подписан вашим личным ключом. Подпись используется для проверки того, что содержимое CSR не было изменено (это включает тему). Ваш открытый ключ включен в CSR. CA создает ваш сертификат и использует любые части объекта CSR, который он считает нужным. Сертификат вместе с объектом, указанным в CA, и открытым ключом из вашего CSR подписывается закрытым ключом CA. Эта подпись используется для проверки того, что содержимое вашего сертификата не было изменено (это включает тему, указанную в CA).

Смежные вопросы