Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Установка

ВНИМАНИЕ! Требуется использовать OpenSSL версии 1.0 и старше.

OpenSSL 1.0.1f использовать не следует, так как в нем есть ошибка при одновременной загрузке 2 engine.

  1. Загрузить модуль интеграции (engine pkcs11_gost) под нужную платформу с нашего сайта.
  2. Загрузить и установить библиотеку PKCS#11 с нашего сайта.
  3. Установить OpenSSL, убедиться в наличии engine gost (libgost.so) в его составе.
  4. В директорию расположения engine положить скачанный файл pkcs11_gost.

    Возможно, возникнет необходимость переименовать pkcs11_gost в libpkcs11_gost в случае возникновения соответствующей ошибки в дальнейшем
  5. Модифицируем конфигурационный файл OpenSSL (для Ubuntu: /usr/lib/ssl/openssl.cnf , в Windows файл находится в директории установки OpenSSL). Добавляем следующую информацию в начало файла:

    openssl_conf            = openssl_def

    а также, в конец файла:

    [openssl_def]
    engines = engine_section
    
    [engine_section]
    gost = gost_section
    pkcs11 = pkcs11_section
    
    [gost_section]
    engine_id = gost
    dynamic_path = /usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgost.so
    default_algorithms = ALL
    init = 0
    
    [pkcs11_section]
    engine_id = pkcs11_gost
    dynamic_path = /usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libpkcs11_gost.so
    MODULE_PATH = /usr/lib/librtpkcs11ecp.so
    init = 0
    

    Для систем на базе Windows все аналогично. 

    В опции dynamic_path указывается путь к файлу engine (pkcs11_gost или libpkcs11_gost). В опции MODULE_PATH указывается путь к библиотеке PKCS#11 для Рутокен ЭЦП.

  6. Для указания пути к конфигурационному файлу может использоваться переменная окружения OPENSSL_CONF

Пример конфигурационного файла OpenSSL в Windows

openssl_conf = openssl_def

[ ca ]
default_ca = CA_default # The default ca section

[ CA_default ]
dir = ./demoCA # top dir
database = $dir/index.txt # index file.
new_certs_dir = $dir/newcerts # new certs dir
certificate = $dir/cacert.pem # The CA cert
serial = $dir/serial # serial no file
private_key = $dir/private/cakey.pem# CA private key
RANDFILE = $dir/private/.rand # random number file
default_days = 365 # how long to certify for
default_crl_days = 30 # how long before next CRL
default_md = md_gost94 # md to use
policy = policy_any # default policy
email_in_dn = no # Don’t add the email into cert DN
name_opt = ca_default # Subject name display option
cert_opt = ca_default # Certificate display option
copy_extensions = none # Don’t copy extensions from request
organizationName = optional
organizationalUnitName = optional
commonName = optional
emailAddress = optional

[ policy_any ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
 
[req]
distinguished_name = req_distinguished_name
prompt = yes

[req_distinguished_name]
ST = State or Province
L =Locality
O = Organization Name
OU = Organizational Unit Name
CN = Common Name
emailAddress = Email

[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section
pkcs11 = pkcs11_section

[gost_section]
engine_id = dynamic
dynamic_path = C:/openssl/engines/gost.dll
init = 0
default_algorithms = ALL

[pkcs11_section]
engine_id = dynamic
dynamic_path = C:/openssl/engines/pkcs11_gost.dll
MODULE_PATH = C:/openssl/engines/rtPKCS11ECP.dll
init = 0
default_algorithms = ALL
 

 

  • Нет меток