Как изменить тип сертификата Signature на Exchange, и наоборот
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали ассоциации файлов Windows. Сегодня я вас хочу научить, производить конвертацию типов сертификатов или как угодно режимов работы, а именно с Signature (Подпись) в Exchange (Обмен) и наоборот, Exchange в Signature. Думаю, что пару раз за свою практику вы можете столкнуться с такой задачей, да и для расширения своего кругозора, это будет полезно.
Постановка задачи
В прошлый раз я выпустил на Windows центре сертификации Wildcard SSL сертификат с типом Exchange и я хотел бы его сконвертировать в Signature, как оказалось, это очень просто выполнить.
Алгоритм конвертирования типа работы сертификата
Для решения поставленной задачи мы будем использовать утилиту certutil. Certutil можно запускать из командной строки или из оболочки PowerShell. Есть два сценария конвертирования:
- Сертификат у вас установлен в личное, локальное хранилище
- У вас есть архив pfx, который вы будите использовать
Открываете cmd или PowerShell, чтобы посмотреть тип вашего сертификата вы можете выполнить команды:
Для сценария если у вас сертификат хранится в локальном хранилище
В результате вы получите список всех ваших сертификатов, в описании которых будет поле KeySpec. В результате я вижу в моем сертификате KeySpec = 1 -- AT_KEYEXCHANGE
Если у вас уже есть архив pfx, то перейдите в его расположение и введите команду:
- -p "12345678" - это пароль от 1 до 8
- -dump wildcard.pfx - имя pfx архива
Предположим, что мне нужно поменять 1 -- AT_KEYEXCHANGE на 2 — SIGNATURE. Напоминаю, что у вас должен быть pfx, если его нет и у вас сертификат хранится в локальном хранилище,то сначала нужно его экспортировать. Для этого вы можете воспользоваться, как графическим интерфейсом, через mmc оснастку сертификаты, или же выполнить все с помощью certutil.
Посмотрим для начала все сертификаты, для этого выполните:
Вы получите список сертификатов, где вам необходимо найти нужный и скопировать его серийный номер.
Перейдите в нужную вам папку через команду cd, сюда будет сохранен сертификат.Теперь зная серийный номер пишем:
Команда выполнена успешно и мы получили pfx.
Теперь, чтобы изменить тип сертификата с AT_KEYEXCHANGE на 2 AT_SIGNATURE выполните:
Команда выполнена успешно.
Проверяем еще раз командой:
[info]certutil -store -v My | findstr "CN= Provider KeySpec"[/info]
В результате видно, что у сертификата изменился тип на KeySpec = 2 -- AT_SIGNATURE.
На этом у меня все. Если остались вопросы или пожелания, то жду их в комментариях. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.