Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

33 Страницы«<30313233>
Опции
К последнему сообщению К первому непрочитанному
Offline iOlegK  
#621 Оставлено : 9 сентября 2020 г. 9:18:12(UTC)
iOlegK

Статус: Участник

Группы: Участники
Зарегистрирован: 07.09.2020(UTC)
Сообщений: 12
Российская Федерация
Откуда: Тверь

Сказал(а) «Спасибо»: 4 раз
Автор: Ефремов Степан Перейти к цитате
Автор: iOlegK Перейти к цитате
...
Как такое может быть? )))


Очень просто) Наши библиотеки libssl и libcrypto попадают в ldconfig (/etc/ld.so.conf). При установке нашего openssl, системный


Означает ли это, что, допустим есть какое то ПО которому необходим системный openssl, и данное ПО не заработает по той причине, что системный openssl использует "замененные" на криптопрошные библиотеки??
Offline Ефремов Степан  
#622 Оставлено : 9 сентября 2020 г. 12:17:49(UTC)
Ефремов Степан

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 31.08.2017(UTC)
Сообщений: 49
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 17 раз в 16 постах
Автор: iOlegK Перейти к цитате
Автор: Ефремов Степан Перейти к цитате

Очень просто) Наши библиотеки libssl и libcrypto попадают в ldconfig (/etc/ld.so.conf). При установке нашего openssl, системный

Означает ли это, что, допустим есть какое то ПО которому необходим системный openssl, и данное ПО не заработает по той причине, что системный openssl использует "замененные" на криптопрошные библиотеки??


Такое, наверное, возможно. Отмечу, что gostengy может работать и с системным openssl, если он версии >= 1.1. Т.е. достаточно установить один пакет (из 4) с engine и настроить конфиг системного openssl.
Техническая поддержка здесь.
База знаний здесь.
Offline iOlegK  
#623 Оставлено : 9 сентября 2020 г. 15:30:12(UTC)
iOlegK

Статус: Участник

Группы: Участники
Зарегистрирован: 07.09.2020(UTC)
Сообщений: 12
Российская Федерация
Откуда: Тверь

Сказал(а) «Спасибо»: 4 раз
Имеется ввиду пакет cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64.rpm?
И в конфиге системного openssl (openssl.cnf) указать что то типо этого?
[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
default_algorithms = ALL

Отредактировано пользователем 9 сентября 2020 г. 15:30:45(UTC)  | Причина: Не указана

Offline Ефремов Степан  
#624 Оставлено : 9 сентября 2020 г. 15:32:58(UTC)
Ефремов Степан

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 31.08.2017(UTC)
Сообщений: 49
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 17 раз в 16 постах
Автор: iOlegK Перейти к цитате
Имеется ввиду пакет cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64.rpm?
И в конфиге системного openssl (openssl.cnf) указать что то типо этого?
[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
default_algorithms = ALL


Верно. Если пакет не будет ставиться - достаточно просто достать libgostengy.so.
Техническая поддержка здесь.
База знаний здесь.
thanks 1 пользователь поблагодарил Ефремов Степан за этот пост.
iOlegK оставлено 09.09.2020(UTC)
Offline iOlegK  
#625 Оставлено : 17 сентября 2020 г. 10:32:34(UTC)
iOlegK

Статус: Участник

Группы: Участники
Зарегистрирован: 07.09.2020(UTC)
Сообщений: 12
Российская Федерация
Откуда: Тверь

Сказал(а) «Спасибо»: 4 раз
Автор: Ефремов Степан Перейти к цитате
Автор: iOlegK Перейти к цитате
Имеется ввиду пакет cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64.rpm?
И в конфиге системного openssl (openssl.cnf) указать что то типо этого?
[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
default_algorithms = ALL


Верно. Если пакет не будет ставиться - достаточно просто достать libgostengy.so.


Извиняюсь, что приходится возвращаться к данной теме, но проделав аналогичные действия на другом сервере со SLES 12 SP4 почему то не получается сделать так, точбы при выполнении команды openssl engine в выводе было что то аналогичное (gostengy) CryptoPro GostEngy ( $Revision: 185515 $).
Были установлены 4 пакета ) cprocsp-cpopenssl-110-base-5.0.11455-5.noarch, cprocsp-cpopenssl-110-devel-5.0.11455-5.noarch, cprocsp-cpopenssl-110-64-5.0.11455-5.x86_64 и cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64. Дополнительно в стандартный конфиг /etc/ssl/openssl.cnf внес до раздела [ new_oids ] следующее:
openssl_conf=openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gostengy = gost_section

[gost_section]
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN
и при проверке openssl engine ошибки:
# openssl engine
Error configuring OpenSSL
140449351493264:error:260B6091:engine routines:DYNAMIC_LOAD:version incompatibility:eng_dyn.c:507:
140449351493264:error:260BC066:engine routines:INT_ENGINE_CONFIGURE:engine configuration error:eng_cnf.c:191:section=gost_section, name=dynamic_path, value=/opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
140449351493264:error:0E07606D:configuration file routines:MODULE_RUN:module initialization error:conf_mod.c:223:module=engines, value=engine_section, retcode=-1
В таком варианте все отлично, но нам надо что бы стандартная openssl работала с ГОСТ
# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 185515 $)
Подскажите плиз где и что я мог упустить? Спасибо.
Online two_oceans  
#626 Оставлено : 17 сентября 2020 г. 11:12:40(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,287
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 85 раз
Поблагодарили: 297 раз в 280 постах
Автор: iOlegK Перейти к цитате
Подскажите плиз где и что я мог упустить? Спасибо.
gostengy требует openssl 1.1.x, возможно на сервере "стандартный" openssl версии 1.0.x, с которым библиотека gostengy несовместима. В то же время openssl от КриптоПро версии 1.1.0 и библиотека работает.

Отредактировано пользователем 17 сентября 2020 г. 11:15:07(UTC)  | Причина: Не указана

Offline iOlegK  
#627 Оставлено : 17 сентября 2020 г. 11:24:37(UTC)
iOlegK

Статус: Участник

Группы: Участники
Зарегистрирован: 07.09.2020(UTC)
Сообщений: 12
Российская Федерация
Откуда: Тверь

Сказал(а) «Спасибо»: 4 раз
Автор: two_oceans Перейти к цитате
Автор: iOlegK Перейти к цитате
Подскажите плиз где и что я мог упустить? Спасибо.
gostengy требует openssl 1.1.x, возможно на сервере "стандартный" openssl версии 1.0.x, с которым библиотека gostengy несовместима. В то же время openssl от КриптоПро версии 1.1.0 и библиотека работает.


В том то и аномалия, что на обоих серверах одинаковая версия стандартной openssl, в общем то все пакеты одной версии:
Старый сервер# rpm -qa | grep openssl | sort
cprocsp-cpopenssl-110-64-5.0.11455-5.x86_64
cprocsp-cpopenssl-110-base-5.0.11455-5.noarch
cprocsp-cpopenssl-110-devel-5.0.11455-5.noarch
cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64
libopenssl-1_0_0-devel-1.0.2p-2.11.x86_64
libopenssl-devel-1.0.2p-1.13.noarch
libopenssl1_0_0-1.0.2p-2.11.x86_64
libopenssl1_0_0-32bit-1.0.2p-2.11.x86_64
openssl-1.0.2p-1.13.noarch
openssl-1_0_0-1.0.2p-2.11.x86_64

Новый сервер# rpm -qa | grep openssl | sort
cprocsp-cpopenssl-110-64-5.0.11455-5.x86_64
cprocsp-cpopenssl-110-base-5.0.11455-5.noarch
cprocsp-cpopenssl-110-devel-5.0.11455-5.noarch
cprocsp-cpopenssl-110-gost-64-5.0.11455-5.x86_64
libopenssl1_0_0-1.0.2p-2.11.x86_64
libopenssl1_1-1.1.1-1.9.x86_64
openssl-1.0.2p-1.13.noarch
openssl-1_0_0-1.0.2p-2.11.x86_64
Offline Ефремов Степан  
#628 Оставлено : 17 сентября 2020 г. 13:27:04(UTC)
Ефремов Степан

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 31.08.2017(UTC)
Сообщений: 49
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 17 раз в 16 постах
Проверьте версии у системных openssl: openssl version

Если версия 1.0, то работать gostengy с ним не могла, не может и не должна.
Техническая поддержка здесь.
База знаний здесь.
Offline iOlegK  
#629 Оставлено : 17 сентября 2020 г. 17:14:58(UTC)
iOlegK

Статус: Участник

Группы: Участники
Зарегистрирован: 07.09.2020(UTC)
Сообщений: 12
Российская Федерация
Откуда: Тверь

Сказал(а) «Спасибо»: 4 раз
Автор: Ефремов Степан Перейти к цитате
Проверьте версии у системных openssl: openssl version

Если версия 1.0, то работать gostengy с ним не могла, не может и не должна.


Все верно говорите!) Мой коллега выполнил ln -s /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl /usr/bin/openssl и просто ничего не сказал =) Хорошо, что перед этим исходный /usr/bin/openssl сохранил Brick wall
Offline Norguhtar  
#630 Оставлено : 17 ноября 2020 г. 15:42:01(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Подскажите могу ли я из engine достать не только key пользователя, но и его сертификат? Если да то какие параметры надо передавать? А то хотелось бы указывать только контейнер а не экспортировать сертификат отдельно в файл.
Offline pd  
#631 Оставлено : 17 ноября 2020 г. 15:47:03(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,172
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 199 раз в 171 постах
Автор: Norguhtar Перейти к цитате
Подскажите могу ли я из engine достать не только key пользователя, но и его сертификат? Если да то какие параметры надо передавать? А то хотелось бы указывать только контейнер а не экспортировать сертификат отдельно в файл.

Мы используем встроенные директивы, свои не придумываем.

Отредактировано пользователем 17 ноября 2020 г. 15:48:50(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline Norguhtar  
#632 Оставлено : 17 ноября 2020 г. 15:56:38(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Да я уже посмотрел и нашел ответ

https://mta.openssl.org/...rs/2015-July/001830.html


Function

int ENGINE_load_certificate(ENGINE *e, const char *key id,
UI_METHOD *ui_method, void *callback_data)

is clearly missing from API.
Offline Norguhtar  
#633 Оставлено : 4 декабря 2020 г. 12:32:09(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Эммм... А что шифрование не поддерживается?

openssl smime -gost89 -encrypt -out pkcs7_test.enc -in test.cer test.cer
Error creating PKCS#7 structure
140195340399744:error:21082096:PKCS7 routines:PKCS7_RECIP_INFO_set:encryption not supported for this key type:crypto/pkcs7/pk7_lib.c:488:
140195340399744:error:21073078:PKCS7 routines:PKCS7_encrypt:error adding recipient:crypto/pkcs7/pk7_smime.c:458:


при этом

openssl ciphers -v | grep GOST
GOST2012-GOST8912-GOST8912 TLSv1 Kx=GOST Au=GOST12 Enc=GOST89(256) Mac=GOST89
GOST2001-GOST89-GOST89 TLSv1 Kx=GOST Au=GOST01 Enc=GOST89(256) Mac=GOST89

Сертификат

Subject Public Key Info:
Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus
Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)

При этот если включить референс gost то все работает и шифруется с этим же ключом.

Если не работает, то можно как-то к примеру настроить совместную работу gost и gostengy чтобы через него только секретный ключ брать?

UPD Я посмотрел тему. Немного поясню, мне надо программными способами запустить шифрование. Что мне надо положить для получения корректного алгоритма шифрования в EVP_get_cipherbyname и отдает ли cryptopro в gostengy алгоритмы шифрования. И можно ли где-то подсмотреть это к примеру в nginx.

Отредактировано пользователем 4 декабря 2020 г. 12:50:41(UTC)  | Причина: Не указана

Offline pd  
#634 Оставлено : 4 декабря 2020 г. 14:02:29(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,172
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 199 раз в 171 постах
Автор: Norguhtar Перейти к цитате
Эммм... А что шифрование не поддерживается?

openssl smime -gost89 -encrypt -out pkcs7_test.enc -in test.cer test.cer
Error creating PKCS#7 structure
140195340399744:error:21082096:PKCS7 routines:PKCS7_RECIP_INFO_set:encryption not supported for this key type:crypto/pkcs7/pk7_lib.c:488:
140195340399744:error:21073078:PKCS7 routines:PKCS7_encrypt:error adding recipient:crypto/pkcs7/pk7_smime.c:458:


при этом

openssl ciphers -v | grep GOST
GOST2012-GOST8912-GOST8912 TLSv1 Kx=GOST Au=GOST12 Enc=GOST89(256) Mac=GOST89
GOST2001-GOST89-GOST89 TLSv1 Kx=GOST Au=GOST01 Enc=GOST89(256) Mac=GOST89

Сертификат

Subject Public Key Info:
Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus
Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)

При этот если включить референс gost то все работает и шифруется с этим же ключом.

Если не работает, то можно как-то к примеру настроить совместную работу gost и gostengy чтобы через него только секретный ключ брать?

UPD Я посмотрел тему. Немного поясню, мне надо программными способами запустить шифрование. Что мне надо положить для получения корректного алгоритма шифрования в EVP_get_cipherbyname и отдает ли cryptopro в gostengy алгоритмы шифрования. И можно ли где-то подсмотреть это к примеру в nginx.

Engine для OpenSSL делали исключительно для поддержки функционала, который нельзя было получить альтернативными методами, например TLS в nginx.

Шифрование в сторону адресата вроде есть в cryptcp -encr.

Знания в базе знаний, поддержка в техподдержке
Offline Norguhtar  
#635 Оставлено : 4 декабря 2020 г. 14:05:53(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Вы мне предлагаете подключать вашу либу напрямую? Ну такое себе решение. Учитывая что sign между прочим работает.
Просто не хватает только этого.

Отредактировано пользователем 4 декабря 2020 г. 14:06:45(UTC)  | Причина: Не указана

Offline pd  
#636 Оставлено : 4 декабря 2020 г. 14:13:01(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,172
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 199 раз в 171 постах
Автор: Norguhtar Перейти к цитате
Вы мне предлагаете подключать вашу либу напрямую? Ну такое себе решение. Учитывая что sign между прочим работает.
Просто не хватает только этого.

Вы приводите пример вызова "openssl smime -encrypt", вам в ответ вроде равнозначное предложение "cryptcp -encr".

Куда напрямую подключать нашу либу? Уточните постановку вопроса тогда.
Знания в базе знаний, поддержка в техподдержке
Offline Norguhtar  
#637 Оставлено : 4 декабря 2020 г. 14:28:39(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Автор: pd Перейти к цитате
Автор: Norguhtar Перейти к цитате
Вы мне предлагаете подключать вашу либу напрямую? Ну такое себе решение. Учитывая что sign между прочим работает.
Просто не хватает только этого.

Вы приводите пример вызова "openssl smime -encrypt", вам в ответ вроде равнозначное предложение "cryptcp -encr".

Куда напрямую подключать нашу либу? Уточните постановку вопроса тогда.



Поясняю у меня есть биндинг на golang к openssl. Я дописал туда функции

Код:

func LoadPrivateKeyFromEngine(engine *Engine, key_id string) (PrivateKey, error) {
	if engine == nil {
		return nil, errors.New("engine not found")
	}
	ckey_id := C.CString(key_id)
	defer C.free(unsafe.Pointer(ckey_id))

	key := C.ENGINE_load_private_key(engine.e, ckey_id, nil, nil)
	if key == nil {
		return nil, errors.New("ENGINE_load_private_key() failed")
	}

	p := &pKey{key: key}
	runtime.SetFinalizer(p, func(p *pKey) {
		C.X_EVP_PKEY_free(p.key)
	})
	return p, nil
}


Эта функция вынимает приватный ключ и позволяет использовать его. Эта часть работает нормально


Далее вынув приватный ключ я подписываю данные
Код:


func PKCS7Sign(certificate *Certificate, key PrivateKey, data []byte, flags int) (*PKCS7, error) {

	if certificate == nil {
		return nil, errors.New("sign certificate not found")
	}

	if len(data) == 0 {
		return nil, errors.New("empty data block")
	}

	bio := C.BIO_new_mem_buf(unsafe.Pointer(&data[0]),
		C.int(len(data)))
	if bio == nil {
		return nil, errors.New("failed creating bio")
	}
	defer C.BIO_free(bio)

	pkcs7 := C.PKCS7_sign(certificate.x, key.evpPKey(), nil, bio, C.int(flags))
	if pkcs7 == nil {
		return nil, errors.New("failed create signature pkcs7")
	}

	p := &PKCS7{pkcs7: pkcs7}

	return p, nil
}

Эта часть так же работает отлично.


Далее я сделал функцию для шифрования
Код:

func PKCS7Encrypt(certs []*Certificate, data []byte, cipher Cipher, flags int) (*PKCS7, error) {

	if len(certs) == 0 {
		return nil, errors.New("recipient certificates not found")
	}

	if len(data) == 0 {
		return nil, errors.New("empty data block")
	}

	//	var sk *C.struct_stack_st_X509

	sk := C.X_sk_X509_new_null()
	if sk == nil {
		return nil, errors.New("can't create new stack")
	}

	for _, cert := range certs {
		res := C.X_sk_X509_push(sk, cert.x)
		if res == 0 {
			return nil, errors.New("can't add cert into stack")
		}
	}

	bio := C.BIO_new_mem_buf(unsafe.Pointer(&data[0]),
		C.int(len(data)))
	if bio == nil {
		return nil, errors.New("failed creating bio")
	}
	defer C.BIO_free(bio)

	pkcs7 := C.PKCS7_encrypt(sk, bio, cipher.ptr, C.int(flags))
	if pkcs7 == nil {
		return nil, errors.New("failed create encrypt pkcs7")
	}

	p := &PKCS7{pkcs7: pkcs7}

	return p, nil
}


Эта функция отлично работает с референсным gost, но работает с вашей реализацией. Код выглядит так

Код:

func TestPKCS7Encrypt(t *testing.T) {
	certBytes, err := ioutil.ReadFile("test.cer")
	if err != nil {
		t.Fatal(err)
	}

	cert, err := LoadCertificateFromPEM(certBytes)
	if err != nil {
		t.Fatal(err)
	}

	cipher, err := GetCipherByName("gost89")
	if err != nil {
		t.Fatal(err)
	}

	data, err := ioutil.ReadFile("pkcs7_test.go")
	if err != nil {
		t.Fatal(err)
	}

	pkcs7, err := PKCS7Encrypt([]*Certificate{cert}, data, *cipher, PKCS7_DETACHED|PKCS7_BINARY|PKCS7_PARTIAL)
	if err != nil {
		t.Fatal(err)
	}

	encryptBytes, err := pkcs7.MarshalPKCS7DER()
	if err != nil {
		t.Fatal(err)
	}

	err = ioutil.WriteFile("pkcs7_test.enc", encryptBytes, 0644)
	if err != nil {
		t.Fatal(err)
	}
}


И код у меня ломается на PKCS7Encrypt. А именно на C.PKCS7_encrypt(sk, bio, cipher.ptr, C.int(flags))

Как я вижу в него не верно отдается алгоритм шифрования. Как я понимаю это или связано с отсутствием реализации с вашей стороны или с тем что я неверно указываю алгоритм.

Отредактировано пользователем 4 декабря 2020 г. 14:29:35(UTC)  | Причина: Не указана

Offline pd  
#638 Оставлено : 4 декабря 2020 г. 14:53:20(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,172
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 199 раз в 171 постах
Автор: Norguhtar Перейти к цитате

Поясняю у меня есть биндинг на golang к openssl. Я дописал туда функции

...

И код у меня ломается на PKCS7Encrypt. А именно на C.PKCS7_encrypt(sk, bio, cipher.ptr, C.int(flags))

Как я вижу в него не верно отдается алгоритм шифрования. Как я понимаю это или связано с отсутствием реализации с вашей стороны или с тем что я неверно указываю алгоритм.

Всё верно, мы реализовали gost89-cnt и gost89-cnt-12, они используются в TLS, остальное не является для нас целевым использованием.

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

Отредактировано пользователем 4 декабря 2020 г. 14:54:06(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline Norguhtar  
#639 Оставлено : 4 декабря 2020 г. 14:59:57(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
Автор: pd Перейти к цитате
Автор: Norguhtar Перейти к цитате

Поясняю у меня есть биндинг на golang к openssl. Я дописал туда функции

...

И код у меня ломается на PKCS7Encrypt. А именно на C.PKCS7_encrypt(sk, bio, cipher.ptr, C.int(flags))

Как я вижу в него не верно отдается алгоритм шифрования. Как я понимаю это или связано с отсутствием реализации с вашей стороны или с тем что я неверно указываю алгоритм.

Всё верно, мы реализовали gost89-cnt и gost89-cnt-12, они используются в TLS, остальное не является для нас целевым использованием.

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


А добавить в engine никак? Это сильно бы упростило интеграцию. А при использовании ваших библиотек мне придется биндинг фактически писать с нуля и привязываться в том числе и к вашей реализации.

Если нельзя, то есть ли какие-то ограничение на использование ваших библиотек, если к примеру я решу сделать engine по типу gostengy и выложить в opensource?
Offline Norguhtar  
#640 Оставлено : 4 декабря 2020 г. 15:14:14(UTC)
Norguhtar

Статус: Участник

Группы: Участники
Зарегистрирован: 17.11.2020(UTC)
Сообщений: 17
Российская Федерация

Поблагодарили: 2 раз в 2 постах
И еще вопрос. Я могу отключить обработку шифрования в вашем модуле при помощи default_algorithms, а брать gost89 из модуля gost?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
33 Страницы«<30313233>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.