diff --git a/SDLSecurity.xcodeproj/project.pbxproj b/SDLSecurity.xcodeproj/project.pbxproj index 2d51e6a..b38abf9 100644 --- a/SDLSecurity.xcodeproj/project.pbxproj +++ b/SDLSecurity.xcodeproj/project.pbxproj @@ -545,92 +545,92 @@ C99BE00F26CAFCD500DB0B54 /* crypto */ = { isa = PBXGroup; children = ( - C99BE01026CAFCD500DB0B54 /* pem.h */, - C99BE01126CAFCD500DB0B54 /* asyncerr.h */, - C99BE01226CAFCD500DB0B54 /* md32_common.h */, - C99BE01326CAFCD500DB0B54 /* err.h */, - C99BE01426CAFCD500DB0B54 /* bn.h */, - C99BE01526CAFCD500DB0B54 /* security_bits.h */, - C99BE01626CAFCD500DB0B54 /* engine.h */, C99BE01726CAFCD500DB0B54 /* aes_platform.h */, - C99BE01826CAFCD500DB0B54 /* esserr.h */, - C99BE01926CAFCD500DB0B54 /* x509.h */, - C99BE01A26CAFCD500DB0B54 /* bn_conf.h.in */, - C99BE01B26CAFCD500DB0B54 /* objectserr.h */, - C99BE01C26CAFCD500DB0B54 /* asn1_dsa.h */, - C99BE01D26CAFCD500DB0B54 /* cmserr.h */, - C99BE01E26CAFCD500DB0B54 /* sparse_array.h */, - C99BE01F26CAFCD500DB0B54 /* sha.h */, + C99BE06026CAFCD500DB0B54 /* aria.h */, C99BE02026CAFCD500DB0B54 /* asn1.h */, - C99BE02126CAFCD500DB0B54 /* chacha.h */, + C99BE01C26CAFCD500DB0B54 /* asn1_dsa.h */, + C99BE06426CAFCD500DB0B54 /* asn1err.h */, + C99BE03C26CAFCD500DB0B54 /* async.h */, + C99BE01126CAFCD500DB0B54 /* asyncerr.h */, C99BE02226CAFCD500DB0B54 /* bioerr.h */, - C99BE02326CAFCD500DB0B54 /* types.h */, - C99BE02426CAFCD500DB0B54 /* dh.h */, - C99BE02526CAFCD500DB0B54 /* dso_conf.h.in */, - C99BE02626CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, - C99BE02726CAFCD500DB0B54 /* decodererr.h */, - C99BE02826CAFCD500DB0B54 /* cmll_platform.h */, - C99BE02926CAFCD500DB0B54 /* poly1305.h */, - C99BE02A26CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, - C99BE02B26CAFCD500DB0B54 /* siphash.h */, + C99BE01426CAFCD500DB0B54 /* bn.h */, + C99BE05C26CAFCD500DB0B54 /* bnerr.h */, C99BE02C26CAFCD500DB0B54 /* bn_conf.h */, - C99BE02D26CAFCD500DB0B54 /* decoder.h */, - C99BE02E26CAFCD500DB0B54 /* pemerr.h */, + C99BE01A26CAFCD500DB0B54 /* bn_conf.h.in */, + C99BE04B26CAFCD500DB0B54 /* bn_dh.h */, + C99BE03826CAFCD500DB0B54 /* bn_srp.h */, + C99BE04E26CAFCD500DB0B54 /* buffererr.h */, + C99BE02826CAFCD500DB0B54 /* cmll_platform.h */, + C99BE02126CAFCD500DB0B54 /* chacha.h */, + C99BE01D26CAFCD500DB0B54 /* cmserr.h */, C99BE02F26CAFCD500DB0B54 /* crmferr.h */, - C99BE03026CAFCD500DB0B54 /* dso_conf.h */, C99BE03126CAFCD500DB0B54 /* comperr.h */, C99BE03226CAFCD500DB0B54 /* cterr.h */, - C99BE03326CAFCD500DB0B54 /* sm2.h */, - C99BE03426CAFCD500DB0B54 /* punycode.h */, - C99BE03526CAFCD500DB0B54 /* uierr.h */, - C99BE03626CAFCD500DB0B54 /* x509v3err.h */, - C99BE03726CAFCD500DB0B54 /* objects.h */, - C99BE03826CAFCD500DB0B54 /* bn_srp.h */, - C99BE03926CAFCD500DB0B54 /* evperr.h */, - C99BE03A26CAFCD500DB0B54 /* pkcs7.h */, - C99BE03B26CAFCD500DB0B54 /* sparc_arch.h */, - C99BE03C26CAFCD500DB0B54 /* async.h */, - C99BE03D26CAFCD500DB0B54 /* httperr.h */, - C99BE03E26CAFCD500DB0B54 /* ppc_arch.h */, + C99BE04326CAFCD500DB0B54 /* ctype.h */, + C99BE04726CAFCD500DB0B54 /* cryptlib.h */, + C99BE04C26CAFCD500DB0B54 /* cryptoerr.h */, + C99BE05326CAFCD500DB0B54 /* cmperr.h */, + C99BE05D26CAFCD500DB0B54 /* conferr.h */, + C99BE02D26CAFCD500DB0B54 /* decoder.h */, + C99BE02726CAFCD500DB0B54 /* decodererr.h */, + C99BE06526CAFCD500DB0B54 /* des_platform.h */, + C99BE02426CAFCD500DB0B54 /* dh.h */, C99BE03F26CAFCD500DB0B54 /* dherr.h */, + C99BE05A26CAFCD500DB0B54 /* dsa.h */, + C99BE05B26CAFCD500DB0B54 /* dsaerr.h */, + C99BE03026CAFCD500DB0B54 /* dso_conf.h */, + C99BE02526CAFCD500DB0B54 /* dso_conf.h.in */, + C99BE03926CAFCD500DB0B54 /* evperr.h */, C99BE04026CAFCD500DB0B54 /* evp.h */, C99BE04126CAFCD500DB0B54 /* engineerr.h */, - C99BE04226CAFCD500DB0B54 /* pkcs12err.h */, - C99BE04326CAFCD500DB0B54 /* ctype.h */, C99BE04426CAFCD500DB0B54 /* encoder.h */, - C99BE04526CAFCD500DB0B54 /* sm2err.h */, C99BE04626CAFCD500DB0B54 /* ecx.h */, - C99BE04726CAFCD500DB0B54 /* cryptlib.h */, C99BE04826CAFCD500DB0B54 /* ec.h */, - C99BE04926CAFCD500DB0B54 /* rand.h */, C99BE04A26CAFCD500DB0B54 /* ecerr.h */, - C99BE04B26CAFCD500DB0B54 /* bn_dh.h */, - C99BE04C26CAFCD500DB0B54 /* cryptoerr.h */, - C99BE04D26CAFCD500DB0B54 /* storeerr.h */, - C99BE04E26CAFCD500DB0B54 /* buffererr.h */, - C99BE04F26CAFCD500DB0B54 /* modes.h */, - C99BE05026CAFCD500DB0B54 /* tserr.h */, - C99BE05126CAFCD500DB0B54 /* rsa.h */, C99BE05226CAFCD500DB0B54 /* encodererr.h */, - C99BE05326CAFCD500DB0B54 /* cmperr.h */, - C99BE05426CAFCD500DB0B54 /* rsaerr.h */, - C99BE05526CAFCD500DB0B54 /* randerr.h */, + C99BE06326CAFCD500DB0B54 /* ess.h */, + C99BE01626CAFCD500DB0B54 /* engine.h */, + C99BE01326CAFCD500DB0B54 /* err.h */, + C99BE01826CAFCD500DB0B54 /* esserr.h */, + C99BE03D26CAFCD500DB0B54 /* httperr.h */, + C99BE06226CAFCD500DB0B54 /* lhash.h */, + C99BE04F26CAFCD500DB0B54 /* modes.h */, + C99BE01226CAFCD500DB0B54 /* md32_common.h */, C99BE05626CAFCD500DB0B54 /* ocsperr.h */, - C99BE05726CAFCD500DB0B54 /* x509err.h */, + C99BE03726CAFCD500DB0B54 /* objects.h */, + C99BE01B26CAFCD500DB0B54 /* objectserr.h */, + C99BE01026CAFCD500DB0B54 /* pem.h */, + C99BE02E26CAFCD500DB0B54 /* pemerr.h */, + C99BE03A26CAFCD500DB0B54 /* pkcs7.h */, + C99BE03E26CAFCD500DB0B54 /* ppc_arch.h */, + C99BE04226CAFCD500DB0B54 /* pkcs12err.h */, C99BE05826CAFCD500DB0B54 /* pkcs7err.h */, + C99BE02926CAFCD500DB0B54 /* poly1305.h */, + C99BE03426CAFCD500DB0B54 /* punycode.h */, + C99BE01526CAFCD500DB0B54 /* security_bits.h */, + C99BE04926CAFCD500DB0B54 /* rand.h */, C99BE05926CAFCD500DB0B54 /* rand_pool.h */, - C99BE05A26CAFCD500DB0B54 /* dsa.h */, - C99BE05B26CAFCD500DB0B54 /* dsaerr.h */, - C99BE05C26CAFCD500DB0B54 /* bnerr.h */, - C99BE05D26CAFCD500DB0B54 /* conferr.h */, + C99BE05126CAFCD500DB0B54 /* rsa.h */, + C99BE05426CAFCD500DB0B54 /* rsaerr.h */, + C99BE05526CAFCD500DB0B54 /* randerr.h */, + C99BE01F26CAFCD500DB0B54 /* sha.h */, + C99BE03326CAFCD500DB0B54 /* sm2.h */, + C99BE02B26CAFCD500DB0B54 /* siphash.h */, + C99BE03B26CAFCD500DB0B54 /* sparc_arch.h */, C99BE05E26CAFCD500DB0B54 /* sm4.h */, - C99BE05F26CAFCD500DB0B54 /* siv.h */, - C99BE06026CAFCD500DB0B54 /* aria.h */, + C99BE04526CAFCD500DB0B54 /* sm2err.h */, C99BE06126CAFCD500DB0B54 /* store.h */, - C99BE06226CAFCD500DB0B54 /* lhash.h */, - C99BE06326CAFCD500DB0B54 /* ess.h */, - C99BE06426CAFCD500DB0B54 /* asn1err.h */, - C99BE06526CAFCD500DB0B54 /* des_platform.h */, + C99BE04D26CAFCD500DB0B54 /* storeerr.h */, + C99BE05F26CAFCD500DB0B54 /* siv.h */, + C99BE01E26CAFCD500DB0B54 /* sparse_array.h */, + C99BE05026CAFCD500DB0B54 /* tserr.h */, + C99BE02326CAFCD500DB0B54 /* types.h */, + C99BE03526CAFCD500DB0B54 /* uierr.h */, + C99BE01926CAFCD500DB0B54 /* x509.h */, + C99BE05726CAFCD500DB0B54 /* x509err.h */, + C99BE03626CAFCD500DB0B54 /* x509v3err.h */, + C99BE02626CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, + C99BE02A26CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, ); path = crypto; sourceTree = ""; @@ -638,45 +638,45 @@ C99BE06626CAFCD500DB0B54 /* internal */ = { isa = PBXGroup; children = ( - C99BE06726CAFCD500DB0B54 /* tsan_assist.h */, - C99BE06826CAFCD500DB0B54 /* err.h */, - C99BE06926CAFCD500DB0B54 /* core.h */, - C99BE06A26CAFCD500DB0B54 /* numbers.h */, - C99BE06B26CAFCD500DB0B54 /* propertyerr.h */, - C99BE06C26CAFCD500DB0B54 /* sizes.h */, - C99BE06D26CAFCD500DB0B54 /* passphrase.h */, - C99BE06E26CAFCD500DB0B54 /* symhacks.h */, C99BE06F26CAFCD500DB0B54 /* asn1.h */, - C99BE07026CAFCD500DB0B54 /* dsoerr.h */, C99BE07126CAFCD500DB0B54 /* bio.h */, - C99BE07226CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, - C99BE07326CAFCD500DB0B54 /* endian.h */, C99BE07426CAFCD500DB0B54 /* conf.h */, - C99BE07526CAFCD500DB0B54 /* sha3.h */, - C99BE07626CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, - C99BE07726CAFCD500DB0B54 /* der.h */, - C99BE07826CAFCD500DB0B54 /* dane.h */, - C99BE07926CAFCD500DB0B54 /* namemap.h */, - C99BE07A26CAFCD500DB0B54 /* unicode.h */, - C99BE07B26CAFCD500DB0B54 /* tlsgroups.h */, C99BE07C26CAFCD500DB0B54 /* constant_time.h */, - C99BE07D26CAFCD500DB0B54 /* sockets.h */, - C99BE07E26CAFCD500DB0B54 /* ktls.h */, - C99BE07F26CAFCD500DB0B54 /* provider.h */, C99BE08026CAFCD500DB0B54 /* comp.h */, - C99BE08126CAFCD500DB0B54 /* sm3.h */, - C99BE08226CAFCD500DB0B54 /* packet.h */, + C99BE06926CAFCD500DB0B54 /* core.h */, C99BE08326CAFCD500DB0B54 /* cryptlib.h */, - C99BE08426CAFCD500DB0B54 /* nelem.h */, + C99BE07826CAFCD500DB0B54 /* dane.h */, + C99BE07726CAFCD500DB0B54 /* der.h */, C99BE08526CAFCD500DB0B54 /* deprecated.h */, - C99BE08626CAFCD500DB0B54 /* sslconf.h */, - C99BE08726CAFCD500DB0B54 /* param_build_set.h */, C99BE08826CAFCD500DB0B54 /* dso.h */, - C99BE08926CAFCD500DB0B54 /* refcount.h */, - C99BE08A26CAFCD500DB0B54 /* property.h */, - C99BE08B26CAFCD500DB0B54 /* o_dir.h */, + C99BE07026CAFCD500DB0B54 /* dsoerr.h */, + C99BE07326CAFCD500DB0B54 /* endian.h */, + C99BE06826CAFCD500DB0B54 /* err.h */, C99BE08C26CAFCD500DB0B54 /* ffc.h */, + C99BE07E26CAFCD500DB0B54 /* ktls.h */, + C99BE08426CAFCD500DB0B54 /* nelem.h */, + C99BE07926CAFCD500DB0B54 /* namemap.h */, + C99BE06A26CAFCD500DB0B54 /* numbers.h */, + C99BE08B26CAFCD500DB0B54 /* o_dir.h */, + C99BE08226CAFCD500DB0B54 /* packet.h */, + C99BE08726CAFCD500DB0B54 /* param_build_set.h */, + C99BE06D26CAFCD500DB0B54 /* passphrase.h */, + C99BE08A26CAFCD500DB0B54 /* property.h */, + C99BE06B26CAFCD500DB0B54 /* propertyerr.h */, + C99BE07F26CAFCD500DB0B54 /* provider.h */, + C99BE08926CAFCD500DB0B54 /* refcount.h */, + C99BE07526CAFCD500DB0B54 /* sha3.h */, + C99BE06C26CAFCD500DB0B54 /* sizes.h */, + C99BE08126CAFCD500DB0B54 /* sm3.h */, + C99BE07D26CAFCD500DB0B54 /* sockets.h */, + C99BE08626CAFCD500DB0B54 /* sslconf.h */, + C99BE06E26CAFCD500DB0B54 /* symhacks.h */, C99BE08D26CAFCD500DB0B54 /* thread_once.h */, + C99BE07B26CAFCD500DB0B54 /* tlsgroups.h */, + C99BE06726CAFCD500DB0B54 /* tsan_assist.h */, + C99BE07A26CAFCD500DB0B54 /* unicode.h */, + C99BE07226CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, + C99BE07626CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, ); path = internal; sourceTree = ""; @@ -684,168 +684,168 @@ C99BE08E26CAFCD500DB0B54 /* openssl */ = { isa = PBXGroup; children = ( - C99BE08F26CAFCD500DB0B54 /* pem2.h */, - C99BE09026CAFCD500DB0B54 /* kdf.h */, - C99BE09126CAFCD500DB0B54 /* fipskey.h.in */, - C99BE09226CAFCD500DB0B54 /* pem.h */, + C99BE0F426CAFCD500DB0B54 /* aes.h */, + C99BE0AF26CAFCD500DB0B54 /* asn1.h */, + C99BE13026CAFCD600DB0B54 /* asn1err.h */, + C99BE0A626CAFCD500DB0B54 /* asn1_mac.h */, + C99BE12426CAFCD600DB0B54 /* asn1t.h */, + C99BE0AB26CAFCD500DB0B54 /* asn1.h.in */, + C99BE10426CAFCD600DB0B54 /* asn1t.h.in */, + C99BE0E326CAFCD500DB0B54 /* async.h */, C99BE09326CAFCD500DB0B54 /* asyncerr.h */, - C99BE09426CAFCD500DB0B54 /* md2.h */, - C99BE09526CAFCD500DB0B54 /* ocsp.h.in */, - C99BE09626CAFCD500DB0B54 /* ssl3.h */, - C99BE09726CAFCD500DB0B54 /* ossl_typ.h */, - C99BE09826CAFCD500DB0B54 /* pkcs7.h.in */, - C99BE09926CAFCD500DB0B54 /* x509.h.in */, - C99BE09A26CAFCD500DB0B54 /* dtls1.h */, - C99BE09B26CAFCD500DB0B54 /* cmp.h.in */, - C99BE09C26CAFCD500DB0B54 /* err.h */, - C99BE09D26CAFCD500DB0B54 /* bn.h */, + C99BE12726CAFCD600DB0B54 /* bio.h.in */, C99BE09E26CAFCD500DB0B54 /* blowfish.h */, + C99BE0B326CAFCD500DB0B54 /* bio.h */, + C99BE0B026CAFCD500DB0B54 /* bioerr.h */, + C99BE09D26CAFCD500DB0B54 /* bn.h */, + C99BE12626CAFCD600DB0B54 /* bnerr.h */, + C99BE0E626CAFCD500DB0B54 /* buffer.h */, + C99BE10E26CAFCD600DB0B54 /* buffererr.h */, + C99BE0FA26CAFCD500DB0B54 /* cast.h */, + C99BE0E926CAFCD500DB0B54 /* camellia.h */, + C99BE12926CAFCD600DB0B54 /* cmac.h */, C99BE09F26CAFCD500DB0B54 /* cms.h */, - C99BE0A026CAFCD500DB0B54 /* engine.h */, - C99BE0A126CAFCD500DB0B54 /* crypto.h.in */, - C99BE0A226CAFCD500DB0B54 /* conf_api.h */, - C99BE0A326CAFCD500DB0B54 /* esserr.h */, - C99BE0A426CAFCD500DB0B54 /* core.h */, - C99BE0A526CAFCD500DB0B54 /* x509.h */, - C99BE0A626CAFCD500DB0B54 /* asn1_mac.h */, - C99BE0A726CAFCD500DB0B54 /* objectserr.h */, - C99BE0A826CAFCD500DB0B54 /* params.h */, C99BE0A926CAFCD500DB0B54 /* cmserr.h */, - C99BE0AA26CAFCD500DB0B54 /* http.h */, - C99BE0AB26CAFCD500DB0B54 /* asn1.h.in */, - C99BE0AC26CAFCD500DB0B54 /* ui.h */, - C99BE0AD26CAFCD500DB0B54 /* sha.h */, - C99BE0AE26CAFCD500DB0B54 /* symhacks.h */, - C99BE0AF26CAFCD500DB0B54 /* asn1.h */, - C99BE0B026CAFCD500DB0B54 /* bioerr.h */, - C99BE0B126CAFCD500DB0B54 /* opensslconf.h */, + C99BE0C826CAFCD500DB0B54 /* cmp.h */, + C99BE09B26CAFCD500DB0B54 /* cmp.h.in */, + C99BE11826CAFCD600DB0B54 /* cmperr.h */, + C99BE0DC26CAFCD500DB0B54 /* cmp_util.h */, + C99BE12F26CAFCD600DB0B54 /* cms.h.in */, + C99BE0F626CAFCD500DB0B54 /* comp.h */, + C99BE0C926CAFCD500DB0B54 /* comperr.h */, C99BE0B226CAFCD500DB0B54 /* conf.h.in */, - C99BE0B326CAFCD500DB0B54 /* bio.h */, - C99BE0B426CAFCD500DB0B54 /* rc2.h */, - C99BE0B526CAFCD500DB0B54 /* types.h */, - C99BE0B626CAFCD500DB0B54 /* dh.h */, - C99BE0B726CAFCD500DB0B54 /* cryptoerr_legacy.h */, - C99BE0B826CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, - C99BE0B926CAFCD500DB0B54 /* proverr.h */, - C99BE0BA26CAFCD500DB0B54 /* x509v3.h */, - C99BE0BB26CAFCD500DB0B54 /* core_object.h */, - C99BE0BC26CAFCD500DB0B54 /* decodererr.h */, - C99BE0BD26CAFCD500DB0B54 /* param_build.h */, + C99BE0A226CAFCD500DB0B54 /* conf_api.h */, + C99BE0A426CAFCD500DB0B54 /* core.h */, C99BE0BE26CAFCD500DB0B54 /* conf.h */, + C99BE0BB26CAFCD500DB0B54 /* core_object.h */, + C99BE0CD26CAFCD500DB0B54 /* configuration.h */, + C99BE12826CAFCD600DB0B54 /* conferr.h */, C99BE0BF26CAFCD500DB0B54 /* conftypes.h */, - C99BE0C026CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, - C99BE0C126CAFCD500DB0B54 /* md5.h */, - C99BE0C226CAFCD500DB0B54 /* srp.h.in */, - C99BE0C326CAFCD500DB0B54 /* decoder.h */, - C99BE0C426CAFCD500DB0B54 /* pemerr.h */, + C99BE0E426CAFCD500DB0B54 /* configuration.h.in */, + C99BE10B26CAFCD600DB0B54 /* core_dispatch.h */, + C99BE0F026CAFCD500DB0B54 /* core_names.h */, + C99BE0DA26CAFCD500DB0B54 /* crmf.h */, C99BE0C526CAFCD500DB0B54 /* crmferr.h */, - C99BE0C626CAFCD500DB0B54 /* x509_vfy.h */, - C99BE0C726CAFCD500DB0B54 /* txt_db.h */, - C99BE0C826CAFCD500DB0B54 /* cmp.h */, - C99BE0C926CAFCD500DB0B54 /* comperr.h */, - C99BE0CA26CAFCD500DB0B54 /* cterr.h */, - C99BE0CB26CAFCD500DB0B54 /* self_test.h */, - C99BE0CC26CAFCD500DB0B54 /* safestack.h */, - C99BE0CD26CAFCD500DB0B54 /* configuration.h */, - C99BE0CE26CAFCD500DB0B54 /* fips_names.h */, - C99BE0CF26CAFCD500DB0B54 /* ecdsa.h */, - C99BE0D026CAFCD500DB0B54 /* sslerr.h */, - C99BE0D126CAFCD500DB0B54 /* prov_ssl.h */, - C99BE0D226CAFCD500DB0B54 /* fipskey.h */, - C99BE0D326CAFCD500DB0B54 /* rc5.h */, - C99BE0D426CAFCD500DB0B54 /* pkcs12.h.in */, - C99BE0D526CAFCD500DB0B54 /* uierr.h */, - C99BE0D626CAFCD500DB0B54 /* x509v3err.h */, - C99BE0D726CAFCD500DB0B54 /* objects.h */, - C99BE0D826CAFCD500DB0B54 /* pkcs12.h */, + C99BE0E226CAFCD500DB0B54 /* crmf.h.in */, C99BE0D926CAFCD500DB0B54 /* crypto.h */, - C99BE0DA26CAFCD500DB0B54 /* crmf.h */, - C99BE0DB26CAFCD500DB0B54 /* lhash.h.in */, - C99BE0DC26CAFCD500DB0B54 /* cmp_util.h */, - C99BE0DD26CAFCD500DB0B54 /* opensslv.h */, - C99BE0DE26CAFCD500DB0B54 /* evperr.h */, - C99BE0DF26CAFCD500DB0B54 /* pkcs7.h */, - C99BE0E026CAFCD500DB0B54 /* obj_mac.h */, + C99BE10C26CAFCD600DB0B54 /* cryptoerr.h */, + C99BE0A126CAFCD500DB0B54 /* crypto.h.in */, + C99BE0B726CAFCD500DB0B54 /* cryptoerr_legacy.h */, C99BE0E126CAFCD500DB0B54 /* ct.h */, - C99BE0E226CAFCD500DB0B54 /* crmf.h.in */, - C99BE0E326CAFCD500DB0B54 /* async.h */, - C99BE0E426CAFCD500DB0B54 /* configuration.h.in */, C99BE0E526CAFCD500DB0B54 /* ct.h.in */, - C99BE0E626CAFCD500DB0B54 /* buffer.h */, - C99BE0E726CAFCD500DB0B54 /* ssl.h */, - C99BE0E826CAFCD500DB0B54 /* srp.h */, - C99BE0E926CAFCD500DB0B54 /* camellia.h */, - C99BE0EA26CAFCD500DB0B54 /* httperr.h */, + C99BE0CA26CAFCD500DB0B54 /* cterr.h */, + C99BE0B626CAFCD500DB0B54 /* dh.h */, + C99BE09A26CAFCD500DB0B54 /* dtls1.h */, + C99BE0BC26CAFCD500DB0B54 /* decodererr.h */, + C99BE0C326CAFCD500DB0B54 /* decoder.h */, + C99BE10126CAFCD600DB0B54 /* des.h */, C99BE0EB26CAFCD500DB0B54 /* dherr.h */, + C99BE12126CAFCD600DB0B54 /* dsa.h */, + C99BE12526CAFCD600DB0B54 /* dsaerr.h */, + C99BE12A26CAFCD600DB0B54 /* ebcdic.h */, + C99BE10326CAFCD600DB0B54 /* ec.h */, + C99BE0CF26CAFCD500DB0B54 /* ecdsa.h */, + C99BE10626CAFCD600DB0B54 /* ecdh.h */, + C99BE10826CAFCD600DB0B54 /* ecerr.h */, + C99BE0F926CAFCD500DB0B54 /* encoder.h */, + C99BE11726CAFCD600DB0B54 /* encodererr.h */, + C99BE0A026CAFCD500DB0B54 /* engine.h */, + C99BE0F526CAFCD500DB0B54 /* engineerr.h */, + C99BE09C26CAFCD500DB0B54 /* err.h */, + C99BE0FE26CAFCD500DB0B54 /* err.h.in */, + C99BE0A326CAFCD500DB0B54 /* esserr.h */, + C99BE0DE26CAFCD500DB0B54 /* evperr.h */, C99BE0EC26CAFCD500DB0B54 /* evp.h */, C99BE0ED26CAFCD500DB0B54 /* e_os2.h */, - C99BE0EE26CAFCD500DB0B54 /* trace.h */, - C99BE0EF26CAFCD500DB0B54 /* md4.h */, - C99BE0F026CAFCD500DB0B54 /* core_names.h */, + C99BE12E26CAFCD600DB0B54 /* ess.h */, + C99BE11026CAFCD600DB0B54 /* ess.h.in */, + C99BE0CE26CAFCD500DB0B54 /* fips_names.h */, + C99BE0D226CAFCD500DB0B54 /* fipskey.h */, + C99BE09126CAFCD500DB0B54 /* fipskey.h.in */, + C99BE0EA26CAFCD500DB0B54 /* httperr.h */, C99BE0F126CAFCD500DB0B54 /* hmac.h */, + C99BE0AA26CAFCD500DB0B54 /* http.h */, + C99BE12C26CAFCD600DB0B54 /* idea.h */, + C99BE12226CAFCD600DB0B54 /* kdferr.h */, + C99BE09026CAFCD500DB0B54 /* kdf.h */, + C99BE12D26CAFCD600DB0B54 /* lhash.h */, + C99BE0DB26CAFCD500DB0B54 /* lhash.h.in */, + C99BE0F726CAFCD500DB0B54 /* macros.h */, + C99BE11C26CAFCD600DB0B54 /* mdc2.h */, + C99BE09426CAFCD500DB0B54 /* md2.h */, + C99BE0EF26CAFCD500DB0B54 /* md4.h */, + C99BE0C126CAFCD500DB0B54 /* md5.h */, + C99BE11126CAFCD600DB0B54 /* modes.h */, + C99BE0DD26CAFCD500DB0B54 /* opensslv.h */, + C99BE0E026CAFCD500DB0B54 /* obj_mac.h */, + C99BE09526CAFCD500DB0B54 /* ocsp.h.in */, + C99BE0B126CAFCD500DB0B54 /* opensslconf.h */, + C99BE0D726CAFCD500DB0B54 /* objects.h */, + C99BE11D26CAFCD600DB0B54 /* ocsperr.h */, + C99BE09726CAFCD500DB0B54 /* ossl_typ.h */, + C99BE0A726CAFCD500DB0B54 /* objectserr.h */, C99BE0F226CAFCD500DB0B54 /* opensslv.h.in */, + C99BE10226CAFCD600DB0B54 /* ocsp.h */, + C99BE0B926CAFCD500DB0B54 /* proverr.h */, + C99BE0BD26CAFCD500DB0B54 /* param_build.h */, + C99BE0C426CAFCD500DB0B54 /* pemerr.h */, + C99BE0D126CAFCD500DB0B54 /* prov_ssl.h */, + C99BE0D426CAFCD500DB0B54 /* pkcs12.h.in */, + C99BE0D826CAFCD500DB0B54 /* pkcs12.h */, + C99BE0DF26CAFCD500DB0B54 /* pkcs7.h */, C99BE0F326CAFCD500DB0B54 /* provider.h */, - C99BE0F426CAFCD500DB0B54 /* aes.h */, - C99BE0F526CAFCD500DB0B54 /* engineerr.h */, - C99BE0F626CAFCD500DB0B54 /* comp.h */, - C99BE0F726CAFCD500DB0B54 /* macros.h */, C99BE0F826CAFCD500DB0B54 /* pkcs12err.h */, - C99BE0F926CAFCD500DB0B54 /* encoder.h */, - C99BE0FA26CAFCD500DB0B54 /* cast.h */, - C99BE0FB26CAFCD500DB0B54 /* sslerr_legacy.h */, - C99BE0FC26CAFCD500DB0B54 /* x509v3.h.in */, - C99BE0FD26CAFCD500DB0B54 /* ui.h.in */, - C99BE0FE26CAFCD500DB0B54 /* err.h.in */, + C99BE11F26CAFCD600DB0B54 /* pkcs7err.h */, + C99BE0A826CAFCD500DB0B54 /* params.h */, + C99BE09226CAFCD500DB0B54 /* pem.h */, + C99BE08F26CAFCD500DB0B54 /* pem2.h */, + C99BE09826CAFCD500DB0B54 /* pkcs7.h.in */, + C99BE10726CAFCD600DB0B54 /* rand.h */, + C99BE11B26CAFCD600DB0B54 /* randerr.h */, + C99BE0B426CAFCD500DB0B54 /* rc2.h */, C99BE0FF26CAFCD600DB0B54 /* rc4.h */, - C99BE10026CAFCD600DB0B54 /* stack.h */, - C99BE10126CAFCD600DB0B54 /* des.h */, - C99BE10226CAFCD600DB0B54 /* ocsp.h */, - C99BE10326CAFCD600DB0B54 /* ec.h */, - C99BE10426CAFCD600DB0B54 /* asn1t.h.in */, + C99BE0D326CAFCD500DB0B54 /* rc5.h */, + C99BE11526CAFCD600DB0B54 /* ripemd.h */, + C99BE11426CAFCD600DB0B54 /* rsa.h */, + C99BE11A26CAFCD600DB0B54 /* rsaerr.h */, + C99BE0CC26CAFCD500DB0B54 /* safestack.h */, C99BE10526CAFCD600DB0B54 /* safestack.h.in */, - C99BE10626CAFCD600DB0B54 /* ecdh.h */, - C99BE10726CAFCD600DB0B54 /* rand.h */, - C99BE10826CAFCD600DB0B54 /* ecerr.h */, - C99BE10926CAFCD600DB0B54 /* ts.h */, - C99BE10A26CAFCD600DB0B54 /* ssl.h.in */, - C99BE10B26CAFCD600DB0B54 /* core_dispatch.h */, - C99BE10C26CAFCD600DB0B54 /* cryptoerr.h */, - C99BE10D26CAFCD600DB0B54 /* storeerr.h */, - C99BE10E26CAFCD600DB0B54 /* buffererr.h */, C99BE10F26CAFCD600DB0B54 /* seed.h */, - C99BE11026CAFCD600DB0B54 /* ess.h.in */, - C99BE11126CAFCD600DB0B54 /* modes.h */, + C99BE0CB26CAFCD500DB0B54 /* self_test.h */, + C99BE0AD26CAFCD500DB0B54 /* sha.h */, + C99BE0D026CAFCD500DB0B54 /* sslerr.h */, + C99BE0FB26CAFCD500DB0B54 /* sslerr_legacy.h */, + C99BE10A26CAFCD600DB0B54 /* ssl.h.in */, C99BE11226CAFCD600DB0B54 /* ssl2.h */, + C99BE09626CAFCD500DB0B54 /* ssl3.h */, + C99BE0E726CAFCD500DB0B54 /* ssl.h */, + C99BE0E826CAFCD500DB0B54 /* srp.h */, + C99BE0C226CAFCD500DB0B54 /* srp.h.in */, + C99BE12326CAFCD600DB0B54 /* srtp.h */, + C99BE10026CAFCD600DB0B54 /* stack.h */, + C99BE12B26CAFCD600DB0B54 /* store.h */, + C99BE10D26CAFCD600DB0B54 /* storeerr.h */, + C99BE0AE26CAFCD500DB0B54 /* symhacks.h */, + C99BE0EE26CAFCD500DB0B54 /* trace.h */, + C99BE11926CAFCD600DB0B54 /* tls1.h */, + C99BE10926CAFCD600DB0B54 /* ts.h */, C99BE11326CAFCD600DB0B54 /* tserr.h */, - C99BE11426CAFCD600DB0B54 /* rsa.h */, - C99BE11526CAFCD600DB0B54 /* ripemd.h */, + C99BE0B526CAFCD500DB0B54 /* types.h */, + C99BE0C726CAFCD500DB0B54 /* txt_db.h */, + C99BE0AC26CAFCD500DB0B54 /* ui.h */, + C99BE0D526CAFCD500DB0B54 /* uierr.h */, + C99BE0FD26CAFCD500DB0B54 /* ui.h.in */, C99BE11626CAFCD600DB0B54 /* whrlpool.h */, - C99BE11726CAFCD600DB0B54 /* encodererr.h */, - C99BE11826CAFCD600DB0B54 /* cmperr.h */, - C99BE11926CAFCD600DB0B54 /* tls1.h */, - C99BE11A26CAFCD600DB0B54 /* rsaerr.h */, - C99BE11B26CAFCD600DB0B54 /* randerr.h */, - C99BE11C26CAFCD600DB0B54 /* mdc2.h */, - C99BE11D26CAFCD600DB0B54 /* ocsperr.h */, + C99BE0A526CAFCD500DB0B54 /* x509.h */, C99BE11E26CAFCD600DB0B54 /* x509err.h */, - C99BE11F26CAFCD600DB0B54 /* pkcs7err.h */, + C99BE0BA26CAFCD500DB0B54 /* x509v3.h */, + C99BE09926CAFCD500DB0B54 /* x509.h.in */, + C99BE0C626CAFCD500DB0B54 /* x509_vfy.h */, + C99BE0D626CAFCD500DB0B54 /* x509v3err.h */, + C99BE0FC26CAFCD500DB0B54 /* x509v3.h.in */, C99BE12026CAFCD600DB0B54 /* x509_vfy.h.in */, - C99BE12126CAFCD600DB0B54 /* dsa.h */, - C99BE12226CAFCD600DB0B54 /* kdferr.h */, - C99BE12326CAFCD600DB0B54 /* srtp.h */, - C99BE12426CAFCD600DB0B54 /* asn1t.h */, - C99BE12526CAFCD600DB0B54 /* dsaerr.h */, - C99BE12626CAFCD600DB0B54 /* bnerr.h */, - C99BE12726CAFCD600DB0B54 /* bio.h.in */, - C99BE12826CAFCD600DB0B54 /* conferr.h */, - C99BE12926CAFCD600DB0B54 /* cmac.h */, - C99BE12A26CAFCD600DB0B54 /* ebcdic.h */, - C99BE12B26CAFCD600DB0B54 /* store.h */, - C99BE12C26CAFCD600DB0B54 /* idea.h */, - C99BE12D26CAFCD600DB0B54 /* lhash.h */, - C99BE12E26CAFCD600DB0B54 /* ess.h */, - C99BE12F26CAFCD600DB0B54 /* cms.h.in */, - C99BE13026CAFCD600DB0B54 /* asn1err.h */, + C99BE0B826CAFCD500DB0B54 /* __DECC_INCLUDE_PROLOGUE.H */, + C99BE0C026CAFCD500DB0B54 /* __DECC_INCLUDE_EPILOGUE.H */, ); path = openssl; sourceTree = ""; @@ -1303,13 +1303,18 @@ "$(inherited)", "$(PROJECT_DIR)", ); - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/OpenSSL/include\""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/Dependencies/OpenSSL/include", + "$(SRCROOT)/Dependencies/OpenSSL/include/openssl", + "$(SRCROOT)/Dependencies/OpenSSL/include/crypto", + "$(SRCROOT)/Dependencies/OpenSSL/include/internal", + ); IPHONEOS_DEPLOYMENT_TARGET = 10.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/Dependencies/OpenSSL/libssl.xcframework\"", - "\"$(SRCROOT)/Dependencies/OpenSSL/libcrypto.xcframework\"", + "$(PROJECT_DIR)/Dependencies/OpenSSL/libssl.xcframework", "$(PROJECT_DIR)/Dependencies/OpenSSL/libcrypto.xcframework", + "$(PROJECT_DIR)/Dependencies/OpenSSL", ); ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; @@ -1328,13 +1333,18 @@ "$(inherited)", "$(PROJECT_DIR)", ); - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/OpenSSL/include\""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/Dependencies/OpenSSL/include", + "$(SRCROOT)/Dependencies/OpenSSL/include/openssl", + "$(SRCROOT)/Dependencies/OpenSSL/include/crypto", + "$(SRCROOT)/Dependencies/OpenSSL/include/internal", + ); IPHONEOS_DEPLOYMENT_TARGET = 10.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/Dependencies/OpenSSL/libssl.xcframework\"", - "\"$(SRCROOT)/Dependencies/OpenSSL/libcrypto.xcframework\"", + "$(PROJECT_DIR)/Dependencies/OpenSSL/libssl.xcframework", "$(PROJECT_DIR)/Dependencies/OpenSSL/libcrypto.xcframework", + "$(PROJECT_DIR)/Dependencies/OpenSSL", ); ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; diff --git a/SDLSecurity/SDLTLSEngine.m b/SDLSecurity/SDLTLSEngine.m index ce09208..a245435 100644 --- a/SDLSecurity/SDLTLSEngine.m +++ b/SDLSecurity/SDLTLSEngine.m @@ -132,7 +132,6 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab PKCS12 *p12 = NULL; EVP_PKEY *pkey = NULL; X509 *certX509 = NULL; - RSA *rsa = NULL; BIO *pbio = NULL; BOOL success = NO; @@ -148,14 +147,14 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab pbio = BIO_new_mem_buf(p12Buffer, (int)data.length); p12 = d2i_PKCS12_bio(pbio, NULL); if (p12 == NULL) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, NULL, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"TLS certificate failed to load"}]; return NO; } success = PKCS12_parse(p12, SDLTLSCertPassword, &pkey, &certX509, NULL); if (certX509 == NULL || pkey == NULL) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, NULL, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"TLS password does not match"}]; return NO; } @@ -176,10 +175,15 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeCertificateInvalid userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Certificate issuer (%@) does not match required issuer (%@)", certIssuer, SDLTLSIssuer]}]; return NO; } - - rsa = EVP_PKEY_get1_RSA(pkey); - if (rsa == NULL) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + + // Check if RSA key/public key is retrieved + int pkeyBaseId; + size_t publicKeySize; + unsigned char *pubkey; + pkeyBaseId = EVP_PKEY_get_base_id(pkey); + publicKeySize = EVP_PKEY_get1_encoded_public_key(pkey, &pubkey); + if ((publicKeySize == 0 || pkeyBaseId == EVP_PKEY_NONE) && pubkey == NULL) { + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"Retrieving RSA token failed"}]; return NO; } @@ -187,35 +191,35 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab // Set up our SSL Context with the certificate and key success = SSL_CTX_use_certificate(sslContext, certX509); if (!success) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"Setting up SSL context failed"}]; return NO; } - success = SSL_CTX_use_RSAPrivateKey(sslContext, rsa); + success = SSL_CTX_use_PrivateKey(sslContext, pkey); if (!success) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"Setting up SSL context failed with the private key"}]; return NO; } success = SSL_CTX_check_private_key(sslContext); if (!success) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"SSL Private key check failed"}]; return NO; } success = SSL_CTX_set_cipher_list(sslContext, "ALL"); if (!success) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"Setting up SSL context cipher list failed"}]; return NO; } sslConnection = SSL_new(sslContext); if (sslConnection == NULL) { - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); *error = [NSError errorWithDomain:SDLSecurityErrorDomain code:SDLTLSErrorCodeInitializationFailure userInfo:@{NSLocalizedDescriptionKey: @"Creating SSL connection object failed"}]; return NO; } @@ -225,7 +229,7 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab BIO_set_mem_eof_return(readBIO, -1); SSL_set_bio(sslConnection, readBIO, writeBIO); SSL_set_accept_state(sslConnection); - sdlsec_cleanUpInitialization(certX509, rsa, p12, pbio, pkey); + sdlsec_cleanUpInitialization(certX509, pubkey, p12, pbio, pkey); self.state = SDLTLSEngineStateInitialized; return YES; @@ -237,12 +241,12 @@ - (BOOL)initializeTLSWithCertificateData:(NSData *)data error:(NSError * _Nullab /// @param p12 The PFX file /// @param pbio Memory BIO for the PFX file /// @param pkey The private key -void sdlsec_cleanUpInitialization(X509 *_Nullable cert, RSA *_Nullable rsa, PKCS12 *_Nullable p12, BIO *_Nullable pbio, EVP_PKEY *_Nullable pkey) { +void sdlsec_cleanUpInitialization(X509 *_Nullable cert, unsigned char *_Nullable pubkey, PKCS12 *_Nullable p12, BIO *_Nullable pbio, EVP_PKEY *_Nullable pkey) { if (cert != NULL) { X509_free(cert); } - if (rsa != NULL) { - RSA_free(rsa); + if (pubkey != NULL) { + OPENSSL_free(pubkey); } if (p12 != NULL) { PKCS12_free(p12); @@ -258,7 +262,6 @@ void sdlsec_cleanUpInitialization(X509 *_Nullable cert, RSA *_Nullable rsa, PKCS /// Initilizes OpenSSL's libssl library by loading the error codes and algorithms. + (void)sdlsec_openSSLInitialization { SSL_load_error_strings(); - ERR_load_BIO_strings(); OpenSSL_add_all_algorithms(); SSL_library_init(); }