Интеграция, совместимая с Openssl 3.0.8, в iOSIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Интеграция, совместимая с Openssl 3.0.8, в iOS

Сообщение Anonymous »

Я пишу, чтобы обратиться за помощью в создании OpenSSL 3.0.8 с FIPS для устройства iOS. Я впервые берусь за такую ​​задачу и столкнулся с некоторыми проблемами, которые, надеюсь, кто-нибудь сможет решить.
Вот шаги, которые я выполнил на данный момент:
Загружено OpenSSL 3.0.8:
Я загрузил исходный код OpenSSL 3.0.8 и настроил его для сборки для iOS с включенным FIPS, используя следующий скрипт:
< р>`

Код: Выделить всё

configure_and_build_openssl() {
ARCH=$1
TARGET=$2
SDK_VERSION=$3
SDK_PATH=$4
PREFIX=$5

export CROSS_TOP=$(xcode-select --print-path)/Platforms/${TARGET}.platform/Developer
export CROSS_SDK=${TARGET}${SDK_VERSION}.sdk
export SDKROOT=${SDK_PATH}
export BUILD_TOOLS=$(xcode-select --print-path)/Toolchains/XcodeDefault.xctoolchain
export CROSS_COMPILE="${BUILD_TOOLS}/usr/bin/"

export CC="cc -isysroot $SDK_PATH -I$SDK_PATH/usr/include -I$SDK_PATH/usr/include/$(basename $BUILD_TOOLS)"
export CFLAGS="-isysroot $SDK_PATH -I$SDK_PATH/usr/include -I$SDK_PATH/usr/include/$(basename $BUILD_TOOLS)"
export LDFLAGS="-isysroot $SDK_PATH"

# Configure and build for the specified architecture
./Configure ${ARCH} enable-fips no-async no-shared no-tests enable-ec_nistp_64_gcc_128 --prefix=$PREFIX --openssldir=$PREFIX
make -j$(sysctl -n hw.ncpu)
make install
make clean
}
`
Обновлен файл openssl.cnf:
Я обновил файл openssl.cnf, как указано в документации модуля OpenSSL FIPS.
/>openssl
Скопированные библиотеки и файлы конфигурации:
Я скопировал libssl.a и libcrypto.a в свой проект и поместил openssl.cnf, fipsmodule.cnf и fips. dylib в моем проекте.
Включен режим FIPS:
Я написал следующий код, чтобы включить FIPS и проверить, включен ли он:
`

Код: Выделить всё

BOOL isFIPSModeEnabled() {
OSSL_PROVIDER \*fips;
OSSL_PROVIDER \*base;

fips = OSSL_PROVIDER_load(NULL, "fips");
if (fips == NULL) {
printf("Failed to load FIPS provider\n");
ERR_print_errors_fp(stderr);
}

base = OSSL_PROVIDER_load(NULL, "base");
if (base == NULL) {
OSSL_PROVIDER_unload(fips);
printf("Failed to load base provider\n");
return false;
}

if (EVP_default_properties_enable_fips(NULL, 1) == 0) {
printf("Failed to enable FIPS mode\n");
OSSL_PROVIDER_unload(base);
OSSL_PROVIDER_unload(fips);
return false;
}

if (EVP_default_properties_is_fips_enabled(NULL) == 1) {
printf("FIPS mode is enabled\n");
OSSL_PROVIDER_unload(base);
OSSL_PROVIDER_unload(fips);
return true;
} else {
printf("FIPS mode is not enabled\n");
OSSL_PROVIDER_unload(base);
OSSL_PROVIDER_unload(fips);
return false;
}
}
`
Когда я запускаю этот код, он печатает «Режим FIPS включен». Однако поставщик не загружается, и я получаю следующее сообщение об ошибке:
`

Код: Выделить всё

Failed to load FIPS provider

C0BEC7F701000000:error:12800067:DSO support routines:dlfcn_load:could not load the shared                                      library:crypto/dso/dso_dlfcn.c:118:
C0BEC7F701000000:error:12800067:DSO support routines:DSO_load:could not load the shared library:crypto/dso/dso_lib.c:152:
C0BEC7F701000000:error:07880025:common libcrypto routines:provider_init:reason(524325):crypto/provider_core.c:912:name=fips`
Я был бы очень признателен за ваши советы о том, почему поставщик FIPS не загружается и какие шаги я могу пропустить или выполнить неправильно в этом процессе.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-in-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Интеграция OpenSSL 3.0.8, совместимая с FIPS, в iOS
    Anonymous » » в форуме IOS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Проблема с ссылкой oatpp-openssl для openSSL 1.1.1.k
    Anonymous » » в форуме C++
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Cmake Ссылка на OpenSSL не дает неопределенной ссылки на функции openssl
    Anonymous » » в форуме C++
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Ссылка Cmake на OpenSSL сбой неопределенной ссылки на функции OpenSSL
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • OpenSSL выпуск "Ошибка ошибки openssl: 0A00018E: SSL Prontines :: CA MD слишком слабые"
    Anonymous » » в форуме Linux
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»