OpenSSL Fips в C ++ Wrapper Library Как? Ошибка: отпечаток не совпадает

Я пытаюсь скомпилировать статическую оболочку DLL, которая включает статические библиотеки OpenSSL Fips.

Я связал:

C:\Work\win_x64\fipscanister.lib
C:\Work\libeayfips32.lib
C:\Work\ssleay32.lib
ws2_32.lib
crypt32.lib

Я также включил каталог libs в каталог include.

Я добавил файл fips_premain.c, который был сгенерирован во время сборки openssl-fip2.0. Я настроил SHA1_HASH_SIG, чтобы он равнялся значению в fips_premain.c.sha1

Я использую Visual Studio 2017 для создания моей оболочки DLL. Я включаю обертку DLL в моем проекте. Когда я вызываю FIPS_mode_set (1), я получаю следующие ошибки:

17480:error:2D0A3073:FIPS routines:func(163):fips selftest failed:
.\crypto\ecdh\ech_ossl.c:125: Exception thrown:
'System.Exception' in Test.OpenSSL.dll [Test][11872][26]
ERROR [Native][-] 2018-10-03T01:13:54.971Z ERROR
Setting fips mode: fingerprint does not match
[Native][11872][27] ERROR [Native][-] 2018-10-03T01:13:54.972Z
ERROR Setting fips mode: fingerprint does not match Exception thrown: 'System.Exception'
in Test.OpenSSL.dll Exception thrown:
'System.NullReferenceException' in Test.OpenSSL.dll

Когда я побежал nmake f ms \ nt.mak test все тесты пройдены успешно

Я, должно быть, где-то пропускаю шаг, мне любопытно, как другие заставили это работать.

Я построил библиотеку как:

perl Configure VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak install

Я использую openssl-1.0.2p и openssl-fips-2.0.16. Оба собраны правильно, что заставляет меня думать, что я создаю свою обертку. Или, может быть, он не может обработать хеш, потому что он был упакован?

0

Решение

Поэтому мне пришлось добавить fips_premain.c в мой проект Visual Studio. Запустите fips_premain_dso.exe, передав в мою новую статическую библиотеку (убедитесь, что fips_premain.c не изменен или не будет генерировать хеш), а затем поместите значение хеша в fips_premain.c, а затем пересоберите в visual studio, и это работает: D

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]