Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
Установка и настройка ванильной версии nginx 1.12.2 с ванильним openssl 1.0.2k c КриптоПро 4.0 R2
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,531 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 36 раз Поблагодарили: 494 раз в 350 постах
|
Автор: chemtech  Запускаю по разному. А ошибка все равно одна и та же <...> Код:nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/srvtest.cer") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
Это не имеющая отношения к делу ошибка, уже отвечали, что нужна PEM кодировка. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.11.2011(UTC) Сообщений: 174
Сказал(а) «Спасибо»: 11 раз Поблагодарили: 1 раз в 1 постах
|
Код:
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443 ssl;
server_name srvtest;
ssl_certificate /etc/nginx/srvtest.pem;
ssl_certificate_key engine:gost_capi:srvtest;
ssl_certificate srvtestRSA.pem;
ssl_certificate_key srvtestRSA.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers HIGH:MEDIUM:+GOST2001-GOST89;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Код:
nginx
nginx: [emerg] SSL_CTX_use_certificate("/etc/nginx/srvtest.pem") failed (SSL: error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorithm error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algorithm error:140BF10C:SSL routines:SSL_SET_CERT:x509 lib)
Код:
sestatus
SELinux status: disabled
Код:vi -b srvtest.pem
-----BEGIN CERTIFICATE-----
MIIDSDCCAvegAwIBAgITEgAiNRLC42o2Fu4ncQAAACI1EjAIBgYqhQMCAgMwfzEj
...............................
-----END CERTIFICATE-----
Код:openssl engine gost_capi
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 147820 $)
Все я понял Использовал скрипты с github Код:/opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 81 -provname 'Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP' -rdn 'CN=srvtest' -cont '\\.\HDIMAGE\srvtest' -certusage 1.3.6.1.5.5.7.3.1 -ku -du -ex -ca http://cryptopro.ru/certsrv
эту команду надо запускать так: Код:/opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 81 -provname 'Crypto-Pro GOST R 34.10-2001 KC1 CSP' -rdn 'CN=srvtest' -cont '\\.\HDIMAGE\srvtest' -certusage 1.3.6.1.5.5.7.3.1 -ku -du -ex -ca http://cryptopro.ru/certsrv
Попробую и отпишусь
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,531 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 36 раз Поблагодарили: 494 раз в 350 постах
|
Автор: chemtech  Все я понял Использовал скрипты с github Код:/opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 81 -provname 'Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP' -rdn 'CN=srvtest' -cont '\\.\HDIMAGE\srvtest' -certusage 1.3.6.1.5.5.7.3.1 -ku -du -ex -ca http://cryptopro.ru/certsrv
эту команду надо запускать так: Код:/opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 81 -provname 'Crypto-Pro GOST R 34.10-2001 KC1 CSP' -rdn 'CN=srvtest' -cont '\\.\HDIMAGE\srvtest' -certusage 1.3.6.1.5.5.7.3.1 -ku -du -ex -ca http://cryptopro.ru/certsrv
Да, ключи 2012 года в gost_capi не поддерживаются -- факт, о чём собственно openssl и сообщал всё это время. Используйте provtype 75 и provname 'Crypto-Pro GOST R 34.10- 2001 KC1 CSP', в случае использования алгоритмов 2001 года. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.11.2011(UTC) Сообщений: 174
Сказал(а) «Спасибо»: 11 раз Поблагодарили: 1 раз в 1 постах
|
Итак система Код:CentOS Linux release 7.4.1708 (Core)
устанавливаю Код:yum install -y wget curl-devel
yum install -y lsb-cprocsp-base
yum install -y lsb-cprocsp-rdr-64
yum install -y lsb-cprocsp-capilite-64
yum install -y lsb-cprocsp-kc1-64
yum install -y lsb-cprocsp-kc2-64
yum install -y cprocsp-curl-64
yum install -y cprocsp-cpopenssl-gost-64
Код:yum list *csp*
Installed Packages
cprocsp-cpopenssl-gost-64.x86_64 4.0.0-4
cprocsp-curl-64.x86_64 4.0.0-4
lsb-cprocsp-base.noarch 4.0.0-4
lsb-cprocsp-capilite-64.x86_64 4.0.0-4
lsb-cprocsp-kc1-64.x86_64 4.0.0-4
lsb-cprocsp-kc2-64.x86_64 4.0.0-4
lsb-cprocsp-rdr-64.x86_64 4.0.0-4
Вставляю после "oid_section = new_oids" текст в конфиг /etc/pki/tls/openssl.cnf Код:openssl_conf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
gost_capi = gost_section
[gost_section]
engine_id = gost_capi
dynamic_path = /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1
Код:ldd /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so.0.0.0 |grep not
ldd: warning: you do not have execution permission for `/opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so.0.0.0'
libcrypto.so.1.0.0 => not found
Код:
ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.1.0.0
/sbin/ldconfig /usr/lib64
Код:openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 147820 $)
# Генерация тестового сертефиката: Код:/opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 75 -provname 'Crypto-Pro GOST R 34.10-2001 KC1 CSP' -rdn 'CN=srvtest' -cont '\\.\HDIMAGE\srvtest' -certusage 1.3.6.1.5.5.7.3.1 -ku -du -ex -ca http://cryptopro.ru/certsrv
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
Creating request...
CPCSP: Signing with the use of GOST R 34.10-2001 keys is not allowed from January 1st, 2019. We highly recommend to move to the use of GOST R 34.10-2012 keys in advance. Continue with the GOST R 34.10-2001 key generation?
(o) OK, (c) Cancel
o
Press keys...
[..........................................................................................................................]
CryptoPro CSP: Set password on produced container "srvtest".
Password:
Retype password:
Sending request to CA...
Installing certificate...
Message contains root certificate that is absent in your root store.
RDN:CRYPTO-PRO Test Center 2, CRYPTO-PRO LLC, Moscow, RU, support@cryptopro.ru
Valid from 05.08.2014 13:44:24 to 05.08.2019 13:54:03
Do you want to add it to Root store? [Y]es or [N]o: Do you want to add it to Root store? [Y]es or [N]o: Y
Adding certificate to Root store.
CryptoPro CSP: Type password for container "srvtest"
Password:
Certificate is installed.
[ReturnCode: 0]
# Смена KC1 на KC2 в имени провайдера, так как nginx работает с провайдером KC2: Код:
/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\HDIMAGE\srvtest' -provtype 75 -provname "Crypto-Pro GOST R 34.10-2001 KC2 CSP"
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
Install:
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=srvtest
Serial : 0x1200225C4D5427CB69060F331B000000225C4D
SHA1 Hash : 0x6c20865a4397069b6bbc7703ac3f5947d3818e89
SubjKeyID : aa0d23c211fa3d9d66c95e00e7d917401c669a0b
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 07/11/2017 11:38:11 UTC
Not valid after : 07/02/2018 11:48:11 UTC
PrivateKey Link : No
CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.1
=============================================================================
[ErrorCode: 0x00000000]
Не забудем установить nginx 1.12 Код: nginx -v
nginx version: nginx/1.12.2
# Экспорт сертификата: Код:
/opt/cprocsp/bin/amd64/certmgr -export -cert -dn "CN=srvtest" -dest '/etc/nginx/srvtest.cer'
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
Exporting:
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=srvtest
Serial : 0x1200225C4D5427CB69060F331B000000225C4D
SHA1 Hash : 0x6c20865a4397069b6bbc7703ac3f5947d3818e89
SubjKeyID : aa0d23c211fa3d9d66c95e00e7d917401c669a0b
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 07/11/2017 11:38:11 UTC
Not valid after : 07/02/2018 11:48:11 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\srvtest.000\AF26
Provider Name : Crypto-Pro GOST R 34.10-2001 KC2 CSP
Provider Info : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.1
=============================================================================
Export complete
[ErrorCode: 0x00000000]
# Смена кодировкии сертификата DER на PEM: Код:
openssl x509 -inform DER -in "/etc/nginx/srvtest.cer" -out "/etc/nginx/srvtest.pem"
Ничего не выдало
# Генерация сертификатов RSA: Код:
openssl req -x509 -newkey rsa:2048 -keyout /etc/nginx/srvtestRSA.key -nodes -out /etc/nginx/srvtestRSA.pem -subj '/CN=srvtestRSA/C=RU'
Generating a 2048 bit RSA private key
................................................................................................+++
.....................................................................+++
writing new private key to '/etc/nginx/srvtestRSA.key'
-----
Код:
openssl rsa -in /etc/nginx/srvtestRSA.key -out /etc/nginx/srvtestRSA.key
writing RSA key
Удаление конфигурации по умолчанию Код:
rm -f /etc/nginx/conf.d/default.conf
Конфигурация nginx Код:user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443 ssl;
server_name srvtest;
ssl_certificate /etc/nginx/srvtest.pem;
ssl_certificate_key engine:gost_capi:srvtest;
ssl_certificate srvtestRSA.pem;
ssl_certificate_key srvtestRSA.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers GOST2001-GOST89-GOST89:HIGH;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Запуск nginx Код:nginx
CryptoPro CSP: Type password for container "srvtest"
Password:
Отредактировано пользователем 7 ноября 2017 г. 15:31:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,531 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 36 раз Поблагодарили: 494 раз в 350 постах
|
Автор: chemtech  Конфигурация nginx Код:ssl_ciphers HIGH:MEDIUM:+GOST2001-GOST89;
В такой конфигурации у вас будет работать RSA вариант, даже у тех, кто поддерживает ГОСТ. Об этом есть в FAQ: Автор: pd  Как настроить одновременную работу ГОСТ и RSA в nginx?Начиная с версии 1.11.0 в nginx возможно использовать несколько сертификатов для сервера одновременно. Для типичной работы ГОСТ TLS в nginx (сначала ГОСТ потом RSA), следует использовать приоритеты шифросюит (сначала ГОСТ потом всё остальное), например так: Код:ssl_ciphers GOST2001-GOST89-GOST89:HIGH;
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.11.2011(UTC) Сообщений: 174
Сказал(а) «Спасибо»: 11 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.11.2011(UTC) Сообщений: 174
Сказал(а) «Спасибо»: 11 раз Поблагодарили: 1 раз в 1 постах
|
А можно ли поменять название темы на "Установка и настройка ванильной версии nginx 1.12.2 с ванильним openssl 1.0.2k c КриптоПро 4.0 R2" ?
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
Установка и настройка ванильной версии nginx 1.12.2 с ванильним openssl 1.0.2k c КриптоПро 4.0 R2
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close