(2018-09-11 11:56:29 отредактировано rabotnikovdm)

Проблемы выпуска сертификатов в OpenSSL

Скачена текущая версия OpenSSL(http://slproweb.com/products/Win32OpenSSL.html) и библиотеки rtpkcs11ecp и rtengine для Windows (Пробывал как 32x-битные, так и 64x битные версии).
Настроен openssl.cfg. Сгенерировал ключевую пару.
Пытаюсь выполнить создание самоподписанного сертификата как описано в https://dev.rutoken.ru/pages/viewpage.a … d=43450394.
Выполняю команду (с правами администратора):
openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
после чего ввожу PIN.

Команда завершается без ошибок, но cert.cer не создается.

Аналогичная проблема при создании запроса PKCS#10 (Даже если использовать ключ не из токена, а из файла, выходные файлы не создаются).

В чем может быть проблема?

На всякий случай прикладываю openssl.cfg:

openssl_conf = openssl_def

RANDFILE    = .rnd

[ openssl_def ]
engines = engine_section

[ engine_section ]
rtengine = gost_section

[ gost_section ]
dynamic_path = c:/OpenSSL/bin/rtengine.dll
MODULE_PATH = c:/OpenSSL/bin/rtpkcs11ecp_new.dll
RAND_TOKEN = pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP
default_algorithms = CIPHERS, DIGEST, PKEY, RAND

# Настройки создания запросов на сертификат

[ req ]
prompt = no
distinguished_name = req_distinguished_name
req_extensions = ext


# Сведения о владельце сертификата

[ req_distinguished_name ]
countryName = RU
commonName = Ivanov
emailAddress = ivanov@mail.ru
stateOrProvinceName = Moscow


# Расширения сертификата

[ ext ]
subjectSignTool = ASN1:FORMAT:UTF8,UTF8String:СКЗИ \"Рутокен ЭЦП 2.0\"
extendedKeyUsage=emailProtection
keyUsage=digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment


# Настройки удостоверяющего центра

[ ca ]
default_ca = CA_default

[ CA_default ]
dir = ./demoCA # папка УЦ
database = $dir/index.txt
new_certs_dir = $dir/newcerts # папка, куда кладутся новые сертификаты
certificate = $dir/cacert.pem # сертификат УЦ
serial = $dir/serial
private_key = $dir/private/cakey.pem # закрытый ключ УЦ
RANDFILE = $dir/private/.rand # private random number file
default_days = 365 # сколько дней будет действителен выданный сертификат
default_crl_days = 30
default_md = md_gost12_256 # алгоритм хеширования по умолчанию
policy = policy_any
email_in_dn = no
name_opt = ca_default
cert_opt = ca_default
copy_extensions = copy


# Обязательность полей в запросе на сертификат

[ policy_any ]
countryName = supplied
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

Re: Проблемы выпуска сертификатов в OpenSSL

rabotnikovdm, здравствуйте!

Давайте разбираться:
1) Укажите пожалуйста, какую версию OpenSSL вы скачали с http://slproweb.com/products/Win32OpenSSL.html.
2) приложите скриншот консоли при вызове команды.
3) Попробуйте указать абсолютный путь к файлу сертификата или запроса в виде с:\certs\cert.cer. Убедитесь, что есть права на запись в эту папку.

(2018-09-11 13:46:06 отредактировано rabotnikovdm)

Re: Проблемы выпуска сертификатов в OpenSSL

Павел Анфимов пишет:

rabotnikovdm, здравствуйте!

Давайте разбираться:
1) Укажите пожалуйста, какую версию OpenSSL вы скачали с http://slproweb.com/products/Win32OpenSSL.html.
2) приложите скриншот консоли при вызове команды.
3) Попробуйте указать абсолютный путь к файлу сертификата или запроса в виде с:\certs\cert.cer. Убедитесь, что есть права на запись в эту папку.

1) Win64 OpenSSL v1.1.0i
2) Скриншот: https://cloud.mail.ru/public/Ha6J/6Rg2k6r8g
3) Пробывал, не помогло

Re: Проблемы выпуска сертификатов в OpenSSL

Установите OpenSC и выполните команду получения списка объектов на токене:

 pkcs11-tool.exe --module C:/OpenSSL/bin/engines/rtpkcs11ecp_new.dll -Ol


Пожалуйста, приложите этот список.

Re: Проблемы выпуска сертификатов в OpenSSL

Павел Анфимов пишет:

Установите OpenSC и выполните команду получения списка объектов на токене:

 pkcs11-tool.exe --module C:/OpenSSL/bin/engines/rtpkcs11ecp_new.dll -Ol


Пожалуйста, приложите этот список.

Using slot 0 with a present token (0x0)
Logging in to "Rutoken ECP <no label>".
WARNING: user PIN to be changed
Please enter User PIN: Public Key Object; GOSTR3410
  PARAMS OID: 06072a850302022301
  VALUE:      4087e5bb4fb449eb872a0107bc9f7e7ae8dfd80952807a817c7274cd4e406918
              2e8a7100f8f6bce24807bed7cb398d1f85f69413315e3a7e8ca49a94c8fb7920
  label:
  ID:         3132
  Usage:      verify
Private Key Object; GOSTR3410
  PARAMS OID: 06072a850302022301
  label:
  ID:         3132
  Usage:      sign

Re: Проблемы выпуска сертификатов в OpenSSL

Пока мы разбираемся, почему не работает запись в файлы в сборке OpenSSL 1.1.0i c http://slproweb.com воспользуйтесь версией OpenSSL 1.1.0h - в ней запись работает

Re: Проблемы выпуска сертификатов в OpenSSL

Павел Анфимов пишет:

воспользуйтесь версией OpenSSL 1.1.0h - в ней запись работает

Спасибо, заработало