gost-engine / engine

A reference implementation of the Russian GOST crypto algorithms for OpenSSL
Apache License 2.0
363 stars 169 forks source link

Fedora 33 / openssl_1_1_1 failures #290

Open chipitsine opened 3 years ago

chipitsine commented 3 years ago

добрый день. я ломаю голову, как это правильно репортить. это про ветку openssl_1_1_1 (правильнее, наверное, было бы про master, но пока не готовы на openssl-3.0)

среда- Fedora 33, openssl-1.1.1g (дистрибутивный, скорее всего с патчами)

[root@localhost engine]# make test CTEST_OUTPUT_ON_FAILURE=1
Running tests...
Test project /root/engine
    Start 1: digest
1/9 Test #1: digest ...........................   Passed    0.08 sec
    Start 2: curves
2/9 Test #2: curves ...........................   Passed    0.04 sec
    Start 3: parameters
3/9 Test #3: parameters .......................   Passed    0.05 sec
    Start 4: sign/verify
4/9 Test #4: sign/verify ......................   Passed    0.03 sec
    Start 5: TLS
5/9 Test #5: TLS ..............................Child aborted***Exception:   0.39 sec
Test rsa
139939204790080:error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:ssl/statem/statem_srvr.c:2282:
139939204790080:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1543:SSL alert number 40
/root/engine/test_tls.c:128: OpenSSL internal error: BIO_do_handshake(sbio) == 1
/root/engine/test_tls.c:83: OpenSSL internal error: SSL_accept(ssl) == 1

    Start 6: context
6/9 Test #6: context ..........................   Passed    0.01 sec
    Start 7: grasshopper
7/9 Test #7: grasshopper ......................   Passed    0.10 sec
    Start 8: keyexpimp
8/9 Test #8: keyexpimp ........................   Passed    0.00 sec
    Start 9: gost89
9/9 Test #9: gost89 ...........................   Passed    0.00 sec

89% tests passed, 1 tests failed out of 9

Total Test time (real) =   0.71 sec

The following tests FAILED:
      5 - TLS (Child aborted)
Errors while running CTest
make: *** [Makefile:139: test] Error 8

протестирую на ванильном openssl, отпишу

abbra commented 3 years ago

TLS тест валится, потому что криптополитику поддержки GOST надо активировать. Правда, без включенного gost engine не видны компонент субполитики:

# update-crypto-policies --set DEFAULT:GOST
Bad value of policy property: mac - unknown list item 'STREEBOG-256'
Bad value of policy property: key_exchange - unknown list item 'VKO-GOST-12'
Errors found in policy

@beldmit надо с Томашом поговорить, как быть в таком случае.

chipitsine commented 3 years ago

да, читал про криптополитики в release notes на RHEL8 прикольно, покопаю

abbra commented 3 years ago

Мы добавили субполитику ГОСТ с @beldmit, но активация пока не работает, так что надо разбираться, да.

vt-alt commented 3 years ago

Было бы желательно, чтоб этот тест работал независимо от криптополитики. Так как он тестирует не её. Можно ли как-то обойти ограничения политики?

chipitsine commented 3 years ago

а это очень просто добиться. у Fedora же должна быть CI по сборке пакета и всем этим политикам. добавить в нее прогон в том числе этих тестов ))