Я нашел следующий код: https://github.com/roddi/ValidateStoreReceipt/blob/master/validatereceipt.m, который загружает корневой сертификат («Apple Root CA») в MacOS
, и я пытаюсь заставить его работать и на iOS.
Наш код написан на C++ и использует OpenSSL для проверки удаленного узла при использовании сокетов SSL.
На других платформах мы загружаем корневой сертификат и добавляем его в контекст, используя X509_STORE_add_cert.
Затем мы используем SSL_get_peer_certificateи проверяем имя хоста. Это НЕ самозаверяющие сертификаты, поэтому мы хотим использовать корневой сертификат устройства.
У меня вопрос: как получить корневой сертификат на устройствах iOS?
РЕДАКТИРОВАТЬ:
Я пробовал следующий запрос, но я продолжаю получать -25300 (errSecItemNotFound).
NSDictionary* query=[NSDictionary dictionaryWithObjectsAndKeys:
(__bridge id)kSecClassCertificate,kSecClass,
kCFBooleanTrue,kSecReturnRef,
kSecMatchLimitAll,kSecMatchLimit,
kCFBooleanTrue,kSecMatchTrustedOnly,
nil];
SecItemCopyMatching((__bridge CFDictionaryRef)query,&ref);