На главную страницу сайта celitel.info
Вы не вошли в систему! [ ВОЙТИ ] или [ ЗАРЕГИСТРИРОВАТЬСЯ ]
CELITEL » Всякая всячина » Тема: Распечатать октрытый ключ сертификата. (cer) -- Стр. 1  | Перейти в: 

Послал Сообщение
healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 28-04-2015 08:59
            

Понадобились распечатать окрытый ключ сертификата ( Файл с расширением cer). Для АИБа. Даже не буду расшифровывать эти три буквы).
Оказалось, что это не совсем тривиальная задача для десктопной винды.
Гугление показало, что таких бедолаг немало, а простых и бесплатных решений мне найти не удалось.

Поскольку OpenSSL у меня уже был установлен, и изредка я им пользуюсь, эту задачу хотелось решить с помощью этого средства.

Итак, сложности, с которыми я столкнулся, пытаясь выполнить задачу. Еще раз хочу заметить - я не знаток OpenSSL.
При кодировке сертификата DER или Base64 параметры OpenSSL различаются. Поэтому желательно знать кодировку. Или опытным путем).
Если ошибиться (что у меня и случилось) - получиться несколько странная ошибка.

Далее оказалось, что русские буквы некорретно отображаются, несмотря на то, что в конфигах прописано string_mask = utf8only.
Пришлось дописывать параметры в вызов OpenSSL.
Ну вот вся предыстория.
Возможно, для кого-то это слишком тривиально. Возможно, это сэкономит кому-то время и нервы.
Собственно, именно это и является причиной опубликования этой темы.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 28-04-2015 09:18
            

@echo off
Rem ***********************************************************
Rem ** **
Rem ** Программа для распечатки сертификатов **
Rem ** **
Rem ***********************************************************
Set PathCert=d:\cert
if "%1."=="." (
cls
@echo .
@echo . Не задан файл сертификата
@echo . PrintSert_Base64.cmd zakupki.cer
@echo .
pause
exit
)
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg
c:
cd C:\OpenSSL-Win32\bin
openssl.exe x509 -text -nameopt sep_comma_plus,utf8 -in %PathCert%\%1 -out %PathCert%\%1.txt
pause

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 28-04-2015 09:40
            

Как это работает.
Скопировть текст скрипта из предыдущего сообщеня, и при помощи текстового редактора (напримр, блокнота) сохранить его в файл с расширением bat или cmd.

Скачать и установить OpenSSL.
Писать 1001-ю инструкцию где взять и как установить OpenSSL не буду.
У меня OpenSSL установлен тут C:\OpenSSL-Win32.
Если у вас этот путь не такой, то внесите соответствующие изменения в скрипт.
Скрипту передается в качестве параметра имя файла сертификата (cer).
В скрипте прописан путь к этому файлу как Set PathCert=d:\cert
Сответственно, если у вас другой путь - исправьте эту строчку.

Приведенный выше пример сформирует текстовый файл с распечаткой открытого ключа сертификата в кодировке Base64.
Если кодирока сертификата DER, то в параметры вызова OpenSSL следует добавить -inform DER.

По большому счету, предыдущий пример уместно назвать Параметры OpenSSL для распечатки открытого ключа сертификата.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 11-06-2015 10:40
            

Переделал скрипт. Теперь выбор файла сертификата происходит в диалоговом окне,
текстовый файл с распечаткой помещается рядом с файлом сертификата, к его имени добавляется .txt

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 11-06-2015 10:40
            

rem ( /*
setlocal ENABLEDELAYEDEXPANSION
echo off
Set PathOpenSSL=C:\OpenSSL-Win32
set "OPENSSL_CONF=%PathOpenSSL%\bin\openssl.cfg"

FOR /F "usebackq delims=" %%i IN (`csсript //nologo /e:javasсript %~dpf0`) do set sfold=%%i
if defined sfold (
set FILECERT=%sfold%
) else (
echo "do not select a file"
pause
exit
)

c:
cd %PathOpenSSL%\bin

openssl.exe x509 -text -nameopt sep_comma_plus,utf8 -in "%FILECERT%" -out "%FILECERT%.txt"

:fin
pause
exit
goto end
*/ )
function fnShellBrowseForFile()
{
var objDialog = new ActiveXObject('UserAccounts.CommonDialog');
objDialog.Filter="Выберите файл с сертификатом (*.cer)|*.cer|Все файлы (*.*)|*.*";
objDialog.InitialDir ="c:\\";
var intResult = objDialog.ShowOpen();
if (intResult == 0) Wsсript.quit(); else Wsсript.Echo(objDialog.FileName);
}

function rem() {
Wsсript.Echo(fnShellBrowseForFile());
}

/*
:end */

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 11-06-2015 13:01
            

Впрочем, как я уже упоминал, основное здесь - параметры OpenSSL.
После установки OpenSSL заходим в директорию установки\bin.
Запускаем там коммандный процессор.
(можно запустить его в любом месте и потом командами CD перейти в директорию установки\bin)
Далее набираем там команду не забыв поменять путь и наименование своего сертификата.

openssl.exe x509 -text -nameopt sep_comma_plus,utf8 -in "d:\cert\zakupki.cer" -out "d:\cert\zakupki.txt"

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 25-08-2015 11:12
            

Еще один способ просмотра (вывода, распечатки) полей открытого ключа сертификата - утилита Certutil.exe.
Первоисточник тут.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 24-12-2016 17:48
            

Итак, как распечатать сертификат открытого ключа при помощи Certutil.exe

Для просмотра сведений о сертификате достаточно выполнить:

certutil сертификат.cer

Вся информация будет выведена в "черное окно" командной строки.
Более удобно осуществить вывод в текстовый файл для последующей распечатки.
Команда будет выглядеть примерно так:

certutil D:\222\krasner.cer > certprint.txt

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 24-12-2016 17:52
            

Большим плюсом данной утилиты является то, что ничего не надо скачивать и устанавливать.

Если подобные операции необходимо делать неоднократно, можно поступит следующим образом

Скопируйте строку

certutil %1 > 111.txt

Сохраните ее в файле с расширением bat, например certprint.bat
Далее, файл сертификата ключа перетащите на иконку этого bat файла.
В папке, где вы сохранили bat файл появиться текстовый файл 111.txt
Если такой файл в этой папке уже был (например, вы уже запускали это процесс для другого сертификата),
то старый файл будет переписан и в нем будут новые данные.
В этом файле вы и найдете содержимое полей сертификата, пригодное для анализа и печати.

Так же используя эту утилиту и бубен можно определить кодировку сертификата.

certutil -decode <ссылка на файл сертификата> <путь до получаемого файла>

к примеру
certutil -decode d:\test.cer d:\test.txt

команда выполнится только для сертификата в кодировке Base64.
В окне командного процессора появиться приблизительно такие сообщения:

Входная длинна = 1546
Выходная длинна = 1082
certutil -decode - команда успешно выполнена.

Если такая команда будет запущена для сертификата в DER кодировке,
то вывод в окне командного процессора будет примерно таким:

Функция DecodeFile возвратила недопустимые данные. ...
certutil -decode команда НЕ ВЫПОЛНЕНА...
certutil: недопустимые данные.

Конечно, кодировку сертификата проще определить по его содержимому.
Откройте сертификат в текстовом редакторе, например, блокноте.
Если кодировка сертификата base64, то отличительными признаками будет первая и последняя строка.
Первая строчка будет: ------------BEGIN CERTIFICATE---------------
А последняя: ------------END CERTIFICATE-----------------

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 24-12-2016 18:12
            

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

Если есть замечания или предложения по приведенным примерам - так же буду благодарен за предложения.

Если вопрос не удалось решить этими способами - пишите, будем разбираться.

Если какой-либо предложенный способ распечатки открытого ключа сертификата помог вам - не стесняйтесь, напишите тут об этом.
Это поможет другим пользователям в выборе средств для решения аналогичных задач.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 24-12-2016 18:31
            

В настоящее время я занят написанием программы, которая online, прямо с сайта позволит получить список полей сертификата и их значений, в виде, пригодном для печати. Тестовый вариант уже есть. Есть и некоторые проблемы. Так что возможно в скором времени здесь появиться ссылка на страницу сайта, где online можно будет получить данные для печати сертификата открытого ключа.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 22862
 Распечатать октрытый ключ сертификата. (cer)
Послано: 30-12-2016 20:19
            

Как и обещал, выкладываю ссылку на страницу, где OnLine можно получить данные для распечатки открытого сертификата. Пока это тестовый вариант. Буду еще его тестировать. Но и вы уже можете. Ну и отпишитесь, если попробуете.
Страница тут.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.



Статистика

Сейчас у нас: и 3 Гостя(ей)
Всего сообщений: 23755
Всего тем: 655

Based on:

 

  TopList Rambler Top100 my counter Valid XHTML 1.0 Strict Valid CSS! Rambler Top100