├── Demo ├── Podfile ├── Podfile.lock ├── Pods │ ├── Headers │ │ ├── Private │ │ │ └── OpenSSL │ │ │ │ └── openssl │ │ │ │ ├── aes.h │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1_mac.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── blowfish.h │ │ │ │ ├── bn.h │ │ │ │ ├── buffer.h │ │ │ │ ├── camellia.h │ │ │ │ ├── cast.h │ │ │ │ ├── cmac.h │ │ │ │ ├── cms.h │ │ │ │ ├── comp.h │ │ │ │ ├── conf.h │ │ │ │ ├── conf_api.h │ │ │ │ ├── crypto.h │ │ │ │ ├── des.h │ │ │ │ ├── des_old.h │ │ │ │ ├── dh.h │ │ │ │ ├── dsa.h │ │ │ │ ├── dso.h │ │ │ │ ├── dtls1.h │ │ │ │ ├── e_os2.h │ │ │ │ ├── ebcdic.h │ │ │ │ ├── ec.h │ │ │ │ ├── ecdh.h │ │ │ │ ├── ecdsa.h │ │ │ │ ├── engine.h │ │ │ │ ├── err.h │ │ │ │ ├── evp.h │ │ │ │ ├── hmac.h │ │ │ │ ├── idea.h │ │ │ │ ├── krb5_asn.h │ │ │ │ ├── kssl.h │ │ │ │ ├── lhash.h │ │ │ │ ├── md4.h │ │ │ │ ├── md5.h │ │ │ │ ├── mdc2.h │ │ │ │ ├── modes.h │ │ │ │ ├── obj_mac.h │ │ │ │ ├── objects.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslconf.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── ossl_typ.h │ │ │ │ ├── pem.h │ │ │ │ ├── pem2.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── pqueue.h │ │ │ │ ├── rand.h │ │ │ │ ├── rc2.h │ │ │ │ ├── rc4.h │ │ │ │ ├── ripemd.h │ │ │ │ ├── rsa.h │ │ │ │ ├── safestack.h │ │ │ │ ├── seed.h │ │ │ │ ├── sha.h │ │ │ │ ├── srp.h │ │ │ │ ├── srtp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ssl2.h │ │ │ │ ├── ssl23.h │ │ │ │ ├── ssl3.h │ │ │ │ ├── stack.h │ │ │ │ ├── symhacks.h │ │ │ │ ├── tls1.h │ │ │ │ ├── ts.h │ │ │ │ ├── txt_db.h │ │ │ │ ├── ui.h │ │ │ │ ├── ui_compat.h │ │ │ │ ├── whrlpool.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ └── Public │ │ │ └── OpenSSL │ │ │ └── openssl │ │ │ ├── aes.h │ │ │ ├── asn1.h │ │ │ ├── asn1_mac.h │ │ │ ├── asn1t.h │ │ │ ├── bio.h │ │ │ ├── blowfish.h │ │ │ ├── bn.h │ │ │ ├── buffer.h │ │ │ ├── camellia.h │ │ │ ├── cast.h │ │ │ ├── cmac.h │ │ │ ├── cms.h │ │ │ ├── comp.h │ │ │ ├── conf.h │ │ │ ├── conf_api.h │ │ │ ├── crypto.h │ │ │ ├── des.h │ │ │ ├── des_old.h │ │ │ ├── dh.h │ │ │ ├── dsa.h │ │ │ ├── dso.h │ │ │ ├── dtls1.h │ │ │ ├── e_os2.h │ │ │ ├── ebcdic.h │ │ │ ├── ec.h │ │ │ ├── ecdh.h │ │ │ ├── ecdsa.h │ │ │ ├── engine.h │ │ │ ├── err.h │ │ │ ├── evp.h │ │ │ ├── hmac.h │ │ │ ├── idea.h │ │ │ ├── krb5_asn.h │ │ │ ├── kssl.h │ │ │ ├── lhash.h │ │ │ ├── md4.h │ │ │ ├── md5.h │ │ │ ├── mdc2.h │ │ │ ├── modes.h │ │ │ ├── obj_mac.h │ │ │ ├── objects.h │ │ │ ├── ocsp.h │ │ │ ├── opensslconf.h │ │ │ ├── opensslv.h │ │ │ ├── ossl_typ.h │ │ │ ├── pem.h │ │ │ ├── pem2.h │ │ │ ├── pkcs12.h │ │ │ ├── pkcs7.h │ │ │ ├── pqueue.h │ │ │ ├── rand.h │ │ │ ├── rc2.h │ │ │ ├── rc4.h │ │ │ ├── ripemd.h │ │ │ ├── rsa.h │ │ │ ├── safestack.h │ │ │ ├── seed.h │ │ │ ├── sha.h │ │ │ ├── srp.h │ │ │ ├── srtp.h │ │ │ ├── ssl.h │ │ │ ├── ssl2.h │ │ │ ├── ssl23.h │ │ │ ├── ssl3.h │ │ │ ├── stack.h │ │ │ ├── symhacks.h │ │ │ ├── tls1.h │ │ │ ├── ts.h │ │ │ ├── txt_db.h │ │ │ ├── ui.h │ │ │ ├── ui_compat.h │ │ │ ├── whrlpool.h │ │ │ ├── x509.h │ │ │ ├── x509_vfy.h │ │ │ └── x509v3.h │ ├── Manifest.lock │ ├── OpenSSL │ │ ├── LICENSE │ │ ├── README │ │ ├── README.ASN1 │ │ ├── README.ENGINE │ │ ├── lib │ │ │ ├── libcrypto.a │ │ │ └── libssl.a │ │ └── opensslIncludes │ │ │ └── openssl │ │ │ ├── aes.h │ │ │ ├── asn1.h │ │ │ ├── asn1_mac.h │ │ │ ├── asn1t.h │ │ │ ├── bio.h │ │ │ ├── blowfish.h │ │ │ ├── bn.h │ │ │ ├── buffer.h │ │ │ ├── camellia.h │ │ │ ├── cast.h │ │ │ ├── cmac.h │ │ │ ├── cms.h │ │ │ ├── comp.h │ │ │ ├── conf.h │ │ │ ├── conf_api.h │ │ │ ├── crypto.h │ │ │ ├── des.h │ │ │ ├── des_old.h │ │ │ ├── dh.h │ │ │ ├── dsa.h │ │ │ ├── dso.h │ │ │ ├── dtls1.h │ │ │ ├── e_os2.h │ │ │ ├── ebcdic.h │ │ │ ├── ec.h │ │ │ ├── ecdh.h │ │ │ ├── ecdsa.h │ │ │ ├── engine.h │ │ │ ├── err.h │ │ │ ├── evp.h │ │ │ ├── hmac.h │ │ │ ├── idea.h │ │ │ ├── krb5_asn.h │ │ │ ├── kssl.h │ │ │ ├── lhash.h │ │ │ ├── md4.h │ │ │ ├── md5.h │ │ │ ├── mdc2.h │ │ │ ├── modes.h │ │ │ ├── obj_mac.h │ │ │ ├── objects.h │ │ │ ├── ocsp.h │ │ │ ├── opensslconf.h │ │ │ ├── opensslv.h │ │ │ ├── ossl_typ.h │ │ │ ├── pem.h │ │ │ ├── pem2.h │ │ │ ├── pkcs12.h │ │ │ ├── pkcs7.h │ │ │ ├── pqueue.h │ │ │ ├── rand.h │ │ │ ├── rc2.h │ │ │ ├── rc4.h │ │ │ ├── ripemd.h │ │ │ ├── rsa.h │ │ │ ├── safestack.h │ │ │ ├── seed.h │ │ │ ├── sha.h │ │ │ ├── srp.h │ │ │ ├── srtp.h │ │ │ ├── ssl.h │ │ │ ├── ssl2.h │ │ │ ├── ssl23.h │ │ │ ├── ssl3.h │ │ │ ├── stack.h │ │ │ ├── symhacks.h │ │ │ ├── tls1.h │ │ │ ├── ts.h │ │ │ ├── txt_db.h │ │ │ ├── ui.h │ │ │ ├── ui_compat.h │ │ │ ├── whrlpool.h │ │ │ ├── x509.h │ │ │ ├── x509_vfy.h │ │ │ └── x509v3.h │ ├── Pods.xcodeproj │ │ ├── project.pbxproj │ │ └── xcuserdata │ │ │ └── acbancroft.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo.xcscheme │ │ │ └── xcschememanagement.plist │ └── Target Support Files │ │ └── Pods-SwiftyLocalReceiptValidatorDemo │ │ ├── Info.plist │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-acknowledgements.markdown │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-acknowledgements.plist │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-dummy.m │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-frameworks.sh │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-resources.sh │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo-umbrella.h │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo.debug.xcconfig │ │ ├── Pods-SwiftyLocalReceiptValidatorDemo.modulemap │ │ └── Pods-SwiftyLocalReceiptValidatorDemo.release.xcconfig ├── SwiftyLocalReceiptValidatorDemo.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── acbancroft.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── acbancroft.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── SwiftyLocalReceiptValidatorDemo.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── acbancroft.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── SwiftyLocalReceiptValidatorDemo │ ├── AppDelegate.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── SwiftyLocalReceiptValidator.swift │ ├── SwiftyLocalReceiptValidatorDemo-Bridging-Header.h │ ├── ViewController.swift │ ├── pkcs7_union_accessors.c │ └── pkcs7_union_accessors.h ├── LICENSE ├── README.md └── ReceiptValidator.swift /Demo/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'SwiftyLocalReceiptValidatorDemo' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for SwiftyLocalReceiptValidatorDemo 9 | pod 'OpenSSL', '~> 1.0' 10 | end 11 | -------------------------------------------------------------------------------- /Demo/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - OpenSSL (1.0.210) 3 | 4 | DEPENDENCIES: 5 | - OpenSSL (~> 1.0) 6 | 7 | SPEC CHECKSUMS: 8 | OpenSSL: 246ffb948e9d56466727fd318134af35f5aa764e 9 | 10 | PODFILE CHECKSUM: 3479469ca27eeb3afbcd6c9c30d6342fbd7ac936 11 | 12 | COCOAPODS: 1.1.1 13 | -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/aes.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/aes.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/asn1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/asn1_mac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1_mac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/asn1t.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1t.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/bio.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/bio.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/blowfish.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/blowfish.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/bn.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/bn.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/buffer.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/buffer.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/camellia.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/camellia.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/cast.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cast.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/cmac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cmac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/cms.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cms.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/comp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/comp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/conf.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/conf.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/conf_api.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/conf_api.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/crypto.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/crypto.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/des.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/des.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/des_old.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/des_old.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/dh.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dh.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/dsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/dso.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dso.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/dtls1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dtls1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/e_os2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/e_os2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ebcdic.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ec.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ec.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ecdh.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ecdh.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ecdsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ecdsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/engine.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/engine.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/err.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/err.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/evp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/evp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/hmac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/hmac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/idea.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/idea.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/krb5_asn.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/krb5_asn.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/kssl.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/kssl.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/lhash.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/lhash.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/md4.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/md4.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/md5.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/md5.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/mdc2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/mdc2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/modes.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/modes.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/obj_mac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/obj_mac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/objects.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/objects.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ocsp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ocsp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/opensslconf.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/opensslconf.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/opensslv.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/opensslv.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ossl_typ.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ossl_typ.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/pem.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pem.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pem2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/pkcs12.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pkcs12.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/pkcs7.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pkcs7.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/pqueue.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pqueue.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/rand.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rand.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/rc2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rc2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rc4.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ripemd.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ripemd.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/rsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/safestack.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/safestack.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/seed.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/seed.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/sha.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/sha.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/srp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/srp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/srtp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/srtp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ssl.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ssl2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ssl23.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl23.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ssl3.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl3.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/stack.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/stack.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/symhacks.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/symhacks.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/tls1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/tls1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ts.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ts.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/txt_db.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/txt_db.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ui.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ui.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/ui_compat.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ui_compat.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/whrlpool.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/whrlpool.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/x509.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/x509_vfy.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509_vfy.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Private/OpenSSL/openssl/x509v3.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509v3.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/aes.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/aes.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/asn1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/asn1_mac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1_mac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/asn1t.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/asn1t.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/bio.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/bio.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/blowfish.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/blowfish.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/bn.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/bn.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/buffer.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/buffer.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/camellia.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/camellia.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/cast.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cast.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/cmac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cmac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/cms.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/cms.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/comp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/comp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/conf.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/conf.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/conf_api.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/conf_api.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/crypto.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/crypto.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/des.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/des.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/des_old.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/des_old.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/dh.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dh.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/dsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/dso.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dso.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/dtls1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/dtls1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/e_os2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/e_os2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ebcdic.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ec.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ec.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ecdh.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ecdh.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ecdsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ecdsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/engine.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/engine.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/err.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/err.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/evp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/evp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/hmac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/hmac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/idea.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/idea.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/krb5_asn.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/krb5_asn.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/kssl.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/kssl.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/lhash.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/lhash.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/md4.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/md4.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/md5.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/md5.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/mdc2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/mdc2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/modes.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/modes.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/obj_mac.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/obj_mac.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/objects.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/objects.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ocsp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ocsp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/opensslconf.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/opensslconf.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/opensslv.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/opensslv.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ossl_typ.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ossl_typ.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/pem.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pem.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pem2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/pkcs12.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pkcs12.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/pkcs7.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pkcs7.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/pqueue.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/pqueue.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/rand.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rand.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/rc2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rc2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rc4.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ripemd.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ripemd.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/rsa.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/rsa.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/safestack.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/safestack.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/seed.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/seed.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/sha.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/sha.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/srp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/srp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/srtp.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/srtp.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ssl.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ssl2.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl2.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ssl23.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl23.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ssl3.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ssl3.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/stack.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/stack.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/symhacks.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/symhacks.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/tls1.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/tls1.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ts.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ts.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/txt_db.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/txt_db.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ui.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ui.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/ui_compat.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/ui_compat.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/whrlpool.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/whrlpool.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/x509.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/x509_vfy.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509_vfy.h -------------------------------------------------------------------------------- /Demo/Pods/Headers/Public/OpenSSL/openssl/x509v3.h: -------------------------------------------------------------------------------- 1 | ../../../../OpenSSL/opensslIncludes/openssl/x509v3.h -------------------------------------------------------------------------------- /Demo/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - OpenSSL (1.0.210) 3 | 4 | DEPENDENCIES: 5 | - OpenSSL (~> 1.0) 6 | 7 | SPEC CHECKSUMS: 8 | OpenSSL: 246ffb948e9d56466727fd318134af35f5aa764e 9 | 10 | PODFILE CHECKSUM: 3479469ca27eeb3afbcd6c9c30d6342fbd7ac936 11 | 12 | COCOAPODS: 1.1.1 13 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | LICENSE ISSUES 3 | ============== 4 | 5 | The OpenSSL toolkit stays under a dual license, i.e. both the conditions of 6 | the OpenSSL License and the original SSLeay license apply to the toolkit. 7 | See below for the actual license texts. Actually both licenses are BSD-style 8 | Open Source licenses. In case of any license issues related to OpenSSL 9 | please contact openssl-core@openssl.org. 10 | 11 | OpenSSL License 12 | --------------- 13 | 14 | /* ==================================================================== 15 | * Copyright (c) 1998-2016 The OpenSSL Project. All rights reserved. 16 | * 17 | * Redistribution and use in source and binary forms, with or without 18 | * modification, are permitted provided that the following conditions 19 | * are met: 20 | * 21 | * 1. Redistributions of source code must retain the above copyright 22 | * notice, this list of conditions and the following disclaimer. 23 | * 24 | * 2. Redistributions in binary form must reproduce the above copyright 25 | * notice, this list of conditions and the following disclaimer in 26 | * the documentation and/or other materials provided with the 27 | * distribution. 28 | * 29 | * 3. All advertising materials mentioning features or use of this 30 | * software must display the following acknowledgment: 31 | * "This product includes software developed by the OpenSSL Project 32 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 33 | * 34 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 35 | * endorse or promote products derived from this software without 36 | * prior written permission. For written permission, please contact 37 | * openssl-core@openssl.org. 38 | * 39 | * 5. Products derived from this software may not be called "OpenSSL" 40 | * nor may "OpenSSL" appear in their names without prior written 41 | * permission of the OpenSSL Project. 42 | * 43 | * 6. Redistributions of any form whatsoever must retain the following 44 | * acknowledgment: 45 | * "This product includes software developed by the OpenSSL Project 46 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 47 | * 48 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 49 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 50 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 51 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 52 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 53 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 54 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 55 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 57 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 58 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 59 | * OF THE POSSIBILITY OF SUCH DAMAGE. 60 | * ==================================================================== 61 | * 62 | * This product includes cryptographic software written by Eric Young 63 | * (eay@cryptsoft.com). This product includes software written by Tim 64 | * Hudson (tjh@cryptsoft.com). 65 | * 66 | */ 67 | 68 | Original SSLeay License 69 | ----------------------- 70 | 71 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 72 | * All rights reserved. 73 | * 74 | * This package is an SSL implementation written 75 | * by Eric Young (eay@cryptsoft.com). 76 | * The implementation was written so as to conform with Netscapes SSL. 77 | * 78 | * This library is free for commercial and non-commercial use as long as 79 | * the following conditions are aheared to. The following conditions 80 | * apply to all code found in this distribution, be it the RC4, RSA, 81 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 82 | * included with this distribution is covered by the same copyright terms 83 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 84 | * 85 | * Copyright remains Eric Young's, and as such any Copyright notices in 86 | * the code are not to be removed. 87 | * If this package is used in a product, Eric Young should be given attribution 88 | * as the author of the parts of the library used. 89 | * This can be in the form of a textual message at program startup or 90 | * in documentation (online or textual) provided with the package. 91 | * 92 | * Redistribution and use in source and binary forms, with or without 93 | * modification, are permitted provided that the following conditions 94 | * are met: 95 | * 1. Redistributions of source code must retain the copyright 96 | * notice, this list of conditions and the following disclaimer. 97 | * 2. Redistributions in binary form must reproduce the above copyright 98 | * notice, this list of conditions and the following disclaimer in the 99 | * documentation and/or other materials provided with the distribution. 100 | * 3. All advertising materials mentioning features or use of this software 101 | * must display the following acknowledgement: 102 | * "This product includes cryptographic software written by 103 | * Eric Young (eay@cryptsoft.com)" 104 | * The word 'cryptographic' can be left out if the rouines from the library 105 | * being used are not cryptographic related :-). 106 | * 4. If you include any Windows specific code (or a derivative thereof) from 107 | * the apps directory (application code) you must include an acknowledgement: 108 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 109 | * 110 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 111 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 112 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 113 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 114 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 115 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 116 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 117 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 118 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 119 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 120 | * SUCH DAMAGE. 121 | * 122 | * The licence and distribution terms for any publically available version or 123 | * derivative of this code cannot be changed. i.e. this code cannot simply be 124 | * copied and put under another distribution licence 125 | * [including the GNU Public Licence.] 126 | */ 127 | 128 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/README: -------------------------------------------------------------------------------- 1 | 2 | OpenSSL 1.0.2j 26 Sep 2016 3 | 4 | Copyright (c) 1998-2015 The OpenSSL Project 5 | Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson 6 | All rights reserved. 7 | 8 | DESCRIPTION 9 | ----------- 10 | 11 | The OpenSSL Project is a collaborative effort to develop a robust, 12 | commercial-grade, fully featured, and Open Source toolkit implementing the 13 | Secure Sockets Layer (SSLv3) and Transport Layer Security (TLS) protocols as 14 | well as a full-strength general purpose cryptograpic library. The project is 15 | managed by a worldwide community of volunteers that use the Internet to 16 | communicate, plan, and develop the OpenSSL toolkit and its related 17 | documentation. 18 | 19 | OpenSSL is descended from the SSLeay library developed by Eric A. Young 20 | and Tim J. Hudson. The OpenSSL toolkit is licensed under a dual-license (the 21 | OpenSSL license plus the SSLeay license), which means that you are free to 22 | get and use it for commercial and non-commercial purposes as long as you 23 | fulfill the conditions of both licenses. 24 | 25 | OVERVIEW 26 | -------- 27 | 28 | The OpenSSL toolkit includes: 29 | 30 | libssl.a: 31 | Provides the client and server-side implementations for SSLv3 and TLS. 32 | 33 | libcrypto.a: 34 | Provides general cryptographic and X.509 support needed by SSL/TLS but 35 | not logically part of it. 36 | 37 | openssl: 38 | A command line tool that can be used for: 39 | Creation of key parameters 40 | Creation of X.509 certificates, CSRs and CRLs 41 | Calculation of message digests 42 | Encryption and decryption 43 | SSL/TLS client and server tests 44 | Handling of S/MIME signed or encrypted mail 45 | And more... 46 | 47 | INSTALLATION 48 | ------------ 49 | 50 | See the appropriate file: 51 | INSTALL Linux, Unix, etc. 52 | INSTALL.DJGPP DOS platform with DJGPP 53 | INSTALL.NW Netware 54 | INSTALL.OS2 OS/2 55 | INSTALL.VMS VMS 56 | INSTALL.W32 Windows (32bit) 57 | INSTALL.W64 Windows (64bit) 58 | INSTALL.WCE Windows CE 59 | 60 | SUPPORT 61 | ------- 62 | 63 | See the OpenSSL website www.openssl.org for details on how to obtain 64 | commercial technical support. 65 | 66 | If you have any problems with OpenSSL then please take the following steps 67 | first: 68 | 69 | - Download the current snapshot from ftp://ftp.openssl.org/snapshot/ 70 | to see if the problem has already been addressed 71 | - Remove ASM versions of libraries 72 | - Remove compiler optimisation flags 73 | 74 | If you wish to report a bug then please include the following information in 75 | any bug report: 76 | 77 | - On Unix systems: 78 | Self-test report generated by 'make report' 79 | - On other systems: 80 | OpenSSL version: output of 'openssl version -a' 81 | OS Name, Version, Hardware platform 82 | Compiler Details (name, version) 83 | - Application Details (name, version) 84 | - Problem Description (steps that will reproduce the problem, if known) 85 | - Stack Traceback (if the application dumps core) 86 | 87 | Email the report to: 88 | 89 | rt@openssl.org 90 | 91 | In order to avoid spam, this is a moderated mailing list, and it might 92 | take a day for the ticket to show up. (We also scan posts to make sure 93 | that security disclosures aren't publically posted by mistake.) Mail 94 | to this address is recorded in the public RT (request tracker) database 95 | (see https://www.openssl.org/community/index.html#bugs for details) and 96 | also forwarded the public openssl-dev mailing list. Confidential mail 97 | may be sent to openssl-security@openssl.org (PGP key available from the 98 | key servers). 99 | 100 | Please do NOT use this for general assistance or support queries. 101 | Just because something doesn't work the way you expect does not mean it 102 | is necessarily a bug in OpenSSL. 103 | 104 | You can also make GitHub pull requests. If you do this, please also send 105 | mail to rt@openssl.org with a link to the PR so that we can more easily 106 | keep track of it. 107 | 108 | HOW TO CONTRIBUTE TO OpenSSL 109 | ---------------------------- 110 | 111 | See CONTRIBUTING 112 | 113 | LEGALITIES 114 | ---------- 115 | 116 | A number of nations, in particular the U.S., restrict the use or export 117 | of cryptography. If you are potentially subject to such restrictions 118 | you should seek competent professional legal advice before attempting to 119 | develop or distribute cryptographic code. 120 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/lib/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewcbancroft/SwiftyLocalReceiptValidator/fafe1e7f5ab443e67f0f0ab7a17cef12ad94f19f/Demo/Pods/OpenSSL/lib/libcrypto.a -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/lib/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewcbancroft/SwiftyLocalReceiptValidator/fafe1e7f5ab443e67f0f0ab7a17cef12ad94f19f/Demo/Pods/OpenSSL/lib/libssl.a -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/aes.h: -------------------------------------------------------------------------------- 1 | /* crypto/aes/aes.h */ 2 | /* ==================================================================== 3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 12 | * 2. Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in 14 | * the documentation and/or other materials provided with the 15 | * distribution. 16 | * 17 | * 3. All advertising materials mentioning features or use of this 18 | * software must display the following acknowledgment: 19 | * "This product includes software developed by the OpenSSL Project 20 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 21 | * 22 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 23 | * endorse or promote products derived from this software without 24 | * prior written permission. For written permission, please contact 25 | * openssl-core@openssl.org. 26 | * 27 | * 5. Products derived from this software may not be called "OpenSSL" 28 | * nor may "OpenSSL" appear in their names without prior written 29 | * permission of the OpenSSL Project. 30 | * 31 | * 6. Redistributions of any form whatsoever must retain the following 32 | * acknowledgment: 33 | * "This product includes software developed by the OpenSSL Project 34 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 35 | * 36 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 37 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 38 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 39 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 40 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 42 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 43 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 44 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 45 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 46 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 47 | * OF THE POSSIBILITY OF SUCH DAMAGE. 48 | * ==================================================================== 49 | * 50 | */ 51 | 52 | #ifndef HEADER_AES_H 53 | # define HEADER_AES_H 54 | 55 | # include 56 | 57 | # ifdef OPENSSL_NO_AES 58 | # error AES is disabled. 59 | # endif 60 | 61 | # include 62 | 63 | # define AES_ENCRYPT 1 64 | # define AES_DECRYPT 0 65 | 66 | /* 67 | * Because array size can't be a const in C, the following two are macros. 68 | * Both sizes are in bytes. 69 | */ 70 | # define AES_MAXNR 14 71 | # define AES_BLOCK_SIZE 16 72 | 73 | #ifdef __cplusplus 74 | extern "C" { 75 | #endif 76 | 77 | /* This should be a hidden type, but EVP requires that the size be known */ 78 | struct aes_key_st { 79 | # ifdef AES_LONG 80 | unsigned long rd_key[4 * (AES_MAXNR + 1)]; 81 | # else 82 | unsigned int rd_key[4 * (AES_MAXNR + 1)]; 83 | # endif 84 | int rounds; 85 | }; 86 | typedef struct aes_key_st AES_KEY; 87 | 88 | const char *AES_options(void); 89 | 90 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits, 91 | AES_KEY *key); 92 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, 93 | AES_KEY *key); 94 | 95 | int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, 96 | AES_KEY *key); 97 | int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, 98 | AES_KEY *key); 99 | 100 | void AES_encrypt(const unsigned char *in, unsigned char *out, 101 | const AES_KEY *key); 102 | void AES_decrypt(const unsigned char *in, unsigned char *out, 103 | const AES_KEY *key); 104 | 105 | void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, 106 | const AES_KEY *key, const int enc); 107 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, 108 | size_t length, const AES_KEY *key, 109 | unsigned char *ivec, const int enc); 110 | void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, 111 | size_t length, const AES_KEY *key, 112 | unsigned char *ivec, int *num, const int enc); 113 | void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, 114 | size_t length, const AES_KEY *key, 115 | unsigned char *ivec, int *num, const int enc); 116 | void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, 117 | size_t length, const AES_KEY *key, 118 | unsigned char *ivec, int *num, const int enc); 119 | void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, 120 | size_t length, const AES_KEY *key, 121 | unsigned char *ivec, int *num); 122 | void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, 123 | size_t length, const AES_KEY *key, 124 | unsigned char ivec[AES_BLOCK_SIZE], 125 | unsigned char ecount_buf[AES_BLOCK_SIZE], 126 | unsigned int *num); 127 | /* NB: the IV is _two_ blocks long */ 128 | void AES_ige_encrypt(const unsigned char *in, unsigned char *out, 129 | size_t length, const AES_KEY *key, 130 | unsigned char *ivec, const int enc); 131 | /* NB: the IV is _four_ blocks long */ 132 | void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, 133 | size_t length, const AES_KEY *key, 134 | const AES_KEY *key2, const unsigned char *ivec, 135 | const int enc); 136 | 137 | int AES_wrap_key(AES_KEY *key, const unsigned char *iv, 138 | unsigned char *out, 139 | const unsigned char *in, unsigned int inlen); 140 | int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, 141 | unsigned char *out, 142 | const unsigned char *in, unsigned int inlen); 143 | 144 | 145 | #ifdef __cplusplus 146 | } 147 | #endif 148 | 149 | #endif /* !HEADER_AES_H */ 150 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/blowfish.h: -------------------------------------------------------------------------------- 1 | /* crypto/bf/blowfish.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_BLOWFISH_H 60 | # define HEADER_BLOWFISH_H 61 | 62 | # include 63 | 64 | #ifdef __cplusplus 65 | extern "C" { 66 | #endif 67 | 68 | # ifdef OPENSSL_NO_BF 69 | # error BF is disabled. 70 | # endif 71 | 72 | # define BF_ENCRYPT 1 73 | # define BF_DECRYPT 0 74 | 75 | /*- 76 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 77 | * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! 78 | * ! BF_LONG_LOG2 has to be defined along. ! 79 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 80 | */ 81 | 82 | # if defined(__LP32__) 83 | # define BF_LONG unsigned long 84 | # elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) 85 | # define BF_LONG unsigned long 86 | # define BF_LONG_LOG2 3 87 | /* 88 | * _CRAY note. I could declare short, but I have no idea what impact 89 | * does it have on performance on none-T3E machines. I could declare 90 | * int, but at least on C90 sizeof(int) can be chosen at compile time. 91 | * So I've chosen long... 92 | * 93 | */ 94 | # else 95 | # define BF_LONG unsigned int 96 | # endif 97 | 98 | # define BF_ROUNDS 16 99 | # define BF_BLOCK 8 100 | 101 | typedef struct bf_key_st { 102 | BF_LONG P[BF_ROUNDS + 2]; 103 | BF_LONG S[4 * 256]; 104 | } BF_KEY; 105 | 106 | # ifdef OPENSSL_FIPS 107 | void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); 108 | # endif 109 | void BF_set_key(BF_KEY *key, int len, const unsigned char *data); 110 | 111 | void BF_encrypt(BF_LONG *data, const BF_KEY *key); 112 | void BF_decrypt(BF_LONG *data, const BF_KEY *key); 113 | 114 | void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, 115 | const BF_KEY *key, int enc); 116 | void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, 117 | const BF_KEY *schedule, unsigned char *ivec, int enc); 118 | void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, 119 | long length, const BF_KEY *schedule, 120 | unsigned char *ivec, int *num, int enc); 121 | void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, 122 | long length, const BF_KEY *schedule, 123 | unsigned char *ivec, int *num); 124 | const char *BF_options(void); 125 | 126 | #ifdef __cplusplus 127 | } 128 | #endif 129 | 130 | #endif 131 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/buffer.h: -------------------------------------------------------------------------------- 1 | /* crypto/buffer/buffer.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_BUFFER_H 60 | # define HEADER_BUFFER_H 61 | 62 | # include 63 | 64 | #ifdef __cplusplus 65 | extern "C" { 66 | #endif 67 | 68 | # include 69 | 70 | # if !defined(NO_SYS_TYPES_H) 71 | # include 72 | # endif 73 | 74 | /* Already declared in ossl_typ.h */ 75 | /* typedef struct buf_mem_st BUF_MEM; */ 76 | 77 | struct buf_mem_st { 78 | size_t length; /* current number of bytes */ 79 | char *data; 80 | size_t max; /* size of buffer */ 81 | }; 82 | 83 | BUF_MEM *BUF_MEM_new(void); 84 | void BUF_MEM_free(BUF_MEM *a); 85 | int BUF_MEM_grow(BUF_MEM *str, size_t len); 86 | int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); 87 | size_t BUF_strnlen(const char *str, size_t maxlen); 88 | char *BUF_strdup(const char *str); 89 | 90 | /* 91 | * Like strndup, but in addition, explicitly guarantees to never read past the 92 | * first |siz| bytes of |str|. 93 | */ 94 | char *BUF_strndup(const char *str, size_t siz); 95 | 96 | void *BUF_memdup(const void *data, size_t siz); 97 | void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); 98 | 99 | /* safe string functions */ 100 | size_t BUF_strlcpy(char *dst, const char *src, size_t siz); 101 | size_t BUF_strlcat(char *dst, const char *src, size_t siz); 102 | 103 | /* BEGIN ERROR CODES */ 104 | /* 105 | * The following lines are auto generated by the script mkerr.pl. Any changes 106 | * made after this point may be overwritten when the script is next run. 107 | */ 108 | void ERR_load_BUF_strings(void); 109 | 110 | /* Error codes for the BUF functions. */ 111 | 112 | /* Function codes. */ 113 | # define BUF_F_BUF_MEMDUP 103 114 | # define BUF_F_BUF_MEM_GROW 100 115 | # define BUF_F_BUF_MEM_GROW_CLEAN 105 116 | # define BUF_F_BUF_MEM_NEW 101 117 | # define BUF_F_BUF_STRDUP 102 118 | # define BUF_F_BUF_STRNDUP 104 119 | 120 | /* Reason codes. */ 121 | 122 | #ifdef __cplusplus 123 | } 124 | #endif 125 | #endif 126 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/camellia.h: -------------------------------------------------------------------------------- 1 | /* crypto/camellia/camellia.h */ 2 | /* ==================================================================== 3 | * Copyright (c) 2006 The OpenSSL Project. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 12 | * 2. Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in 14 | * the documentation and/or other materials provided with the 15 | * distribution. 16 | * 17 | * 3. All advertising materials mentioning features or use of this 18 | * software must display the following acknowledgment: 19 | * "This product includes software developed by the OpenSSL Project 20 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 21 | * 22 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 23 | * endorse or promote products derived from this software without 24 | * prior written permission. For written permission, please contact 25 | * openssl-core@openssl.org. 26 | * 27 | * 5. Products derived from this software may not be called "OpenSSL" 28 | * nor may "OpenSSL" appear in their names without prior written 29 | * permission of the OpenSSL Project. 30 | * 31 | * 6. Redistributions of any form whatsoever must retain the following 32 | * acknowledgment: 33 | * "This product includes software developed by the OpenSSL Project 34 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 35 | * 36 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 37 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 38 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 39 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 40 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 42 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 43 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 44 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 45 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 46 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 47 | * OF THE POSSIBILITY OF SUCH DAMAGE. 48 | * ==================================================================== 49 | * 50 | */ 51 | 52 | #ifndef HEADER_CAMELLIA_H 53 | # define HEADER_CAMELLIA_H 54 | 55 | # include 56 | 57 | # ifdef OPENSSL_NO_CAMELLIA 58 | # error CAMELLIA is disabled. 59 | # endif 60 | 61 | # include 62 | 63 | # define CAMELLIA_ENCRYPT 1 64 | # define CAMELLIA_DECRYPT 0 65 | 66 | /* 67 | * Because array size can't be a const in C, the following two are macros. 68 | * Both sizes are in bytes. 69 | */ 70 | 71 | #ifdef __cplusplus 72 | extern "C" { 73 | #endif 74 | 75 | /* This should be a hidden type, but EVP requires that the size be known */ 76 | 77 | # define CAMELLIA_BLOCK_SIZE 16 78 | # define CAMELLIA_TABLE_BYTE_LEN 272 79 | # define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) 80 | 81 | typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match 82 | * with WORD */ 83 | 84 | struct camellia_key_st { 85 | union { 86 | double d; /* ensures 64-bit align */ 87 | KEY_TABLE_TYPE rd_key; 88 | } u; 89 | int grand_rounds; 90 | }; 91 | typedef struct camellia_key_st CAMELLIA_KEY; 92 | 93 | # ifdef OPENSSL_FIPS 94 | int private_Camellia_set_key(const unsigned char *userKey, const int bits, 95 | CAMELLIA_KEY *key); 96 | # endif 97 | int Camellia_set_key(const unsigned char *userKey, const int bits, 98 | CAMELLIA_KEY *key); 99 | 100 | void Camellia_encrypt(const unsigned char *in, unsigned char *out, 101 | const CAMELLIA_KEY *key); 102 | void Camellia_decrypt(const unsigned char *in, unsigned char *out, 103 | const CAMELLIA_KEY *key); 104 | 105 | void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, 106 | const CAMELLIA_KEY *key, const int enc); 107 | void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, 108 | size_t length, const CAMELLIA_KEY *key, 109 | unsigned char *ivec, const int enc); 110 | void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, 111 | size_t length, const CAMELLIA_KEY *key, 112 | unsigned char *ivec, int *num, const int enc); 113 | void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, 114 | size_t length, const CAMELLIA_KEY *key, 115 | unsigned char *ivec, int *num, const int enc); 116 | void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, 117 | size_t length, const CAMELLIA_KEY *key, 118 | unsigned char *ivec, int *num, const int enc); 119 | void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, 120 | size_t length, const CAMELLIA_KEY *key, 121 | unsigned char *ivec, int *num); 122 | void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, 123 | size_t length, const CAMELLIA_KEY *key, 124 | unsigned char ivec[CAMELLIA_BLOCK_SIZE], 125 | unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], 126 | unsigned int *num); 127 | 128 | #ifdef __cplusplus 129 | } 130 | #endif 131 | 132 | #endif /* !HEADER_Camellia_H */ 133 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/cast.h: -------------------------------------------------------------------------------- 1 | /* crypto/cast/cast.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_CAST_H 60 | # define HEADER_CAST_H 61 | 62 | #ifdef __cplusplus 63 | extern "C" { 64 | #endif 65 | 66 | # include 67 | 68 | # ifdef OPENSSL_NO_CAST 69 | # error CAST is disabled. 70 | # endif 71 | 72 | # define CAST_ENCRYPT 1 73 | # define CAST_DECRYPT 0 74 | 75 | # define CAST_LONG unsigned int 76 | 77 | # define CAST_BLOCK 8 78 | # define CAST_KEY_LENGTH 16 79 | 80 | typedef struct cast_key_st { 81 | CAST_LONG data[32]; 82 | int short_key; /* Use reduced rounds for short key */ 83 | } CAST_KEY; 84 | 85 | # ifdef OPENSSL_FIPS 86 | void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); 87 | # endif 88 | void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); 89 | void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, 90 | const CAST_KEY *key, int enc); 91 | void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); 92 | void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); 93 | void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, 94 | long length, const CAST_KEY *ks, unsigned char *iv, 95 | int enc); 96 | void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, 97 | long length, const CAST_KEY *schedule, 98 | unsigned char *ivec, int *num, int enc); 99 | void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, 100 | long length, const CAST_KEY *schedule, 101 | unsigned char *ivec, int *num); 102 | 103 | #ifdef __cplusplus 104 | } 105 | #endif 106 | 107 | #endif 108 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/cmac.h: -------------------------------------------------------------------------------- 1 | /* crypto/cmac/cmac.h */ 2 | /* 3 | * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 4 | * project. 5 | */ 6 | /* ==================================================================== 7 | * Copyright (c) 2010 The OpenSSL Project. All rights reserved. 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted provided that the following conditions 11 | * are met: 12 | * 13 | * 1. Redistributions of source code must retain the above copyright 14 | * notice, this list of conditions and the following disclaimer. 15 | * 16 | * 2. Redistributions in binary form must reproduce the above copyright 17 | * notice, this list of conditions and the following disclaimer in 18 | * the documentation and/or other materials provided with the 19 | * distribution. 20 | * 21 | * 3. All advertising materials mentioning features or use of this 22 | * software must display the following acknowledgment: 23 | * "This product includes software developed by the OpenSSL Project 24 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 25 | * 26 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 27 | * endorse or promote products derived from this software without 28 | * prior written permission. For written permission, please contact 29 | * licensing@OpenSSL.org. 30 | * 31 | * 5. Products derived from this software may not be called "OpenSSL" 32 | * nor may "OpenSSL" appear in their names without prior written 33 | * permission of the OpenSSL Project. 34 | * 35 | * 6. Redistributions of any form whatsoever must retain the following 36 | * acknowledgment: 37 | * "This product includes software developed by the OpenSSL Project 38 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 39 | * 40 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 41 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 42 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 43 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 44 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 46 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 47 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 49 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 50 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51 | * OF THE POSSIBILITY OF SUCH DAMAGE. 52 | * ==================================================================== 53 | */ 54 | 55 | #ifndef HEADER_CMAC_H 56 | # define HEADER_CMAC_H 57 | 58 | #ifdef __cplusplus 59 | extern "C" { 60 | #endif 61 | 62 | # include 63 | 64 | /* Opaque */ 65 | typedef struct CMAC_CTX_st CMAC_CTX; 66 | 67 | CMAC_CTX *CMAC_CTX_new(void); 68 | void CMAC_CTX_cleanup(CMAC_CTX *ctx); 69 | void CMAC_CTX_free(CMAC_CTX *ctx); 70 | EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); 71 | int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); 72 | 73 | int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, 74 | const EVP_CIPHER *cipher, ENGINE *impl); 75 | int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); 76 | int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); 77 | int CMAC_resume(CMAC_CTX *ctx); 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | #endif 83 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/comp.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef HEADER_COMP_H 3 | # define HEADER_COMP_H 4 | 5 | # include 6 | 7 | # ifdef OPENSSL_NO_COMP 8 | # error COMP is disabled. 9 | # endif 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct comp_ctx_st COMP_CTX; 16 | 17 | struct comp_method_st { 18 | int type; /* NID for compression library */ 19 | const char *name; /* A text string to identify the library */ 20 | int (*init) (COMP_CTX *ctx); 21 | void (*finish) (COMP_CTX *ctx); 22 | int (*compress) (COMP_CTX *ctx, 23 | unsigned char *out, unsigned int olen, 24 | unsigned char *in, unsigned int ilen); 25 | int (*expand) (COMP_CTX *ctx, 26 | unsigned char *out, unsigned int olen, 27 | unsigned char *in, unsigned int ilen); 28 | /* 29 | * The following two do NOTHING, but are kept for backward compatibility 30 | */ 31 | long (*ctrl) (void); 32 | long (*callback_ctrl) (void); 33 | }; 34 | 35 | struct comp_ctx_st { 36 | COMP_METHOD *meth; 37 | unsigned long compress_in; 38 | unsigned long compress_out; 39 | unsigned long expand_in; 40 | unsigned long expand_out; 41 | CRYPTO_EX_DATA ex_data; 42 | }; 43 | 44 | COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 45 | void COMP_CTX_free(COMP_CTX *ctx); 46 | int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 47 | unsigned char *in, int ilen); 48 | int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 49 | unsigned char *in, int ilen); 50 | COMP_METHOD *COMP_rle(void); 51 | COMP_METHOD *COMP_zlib(void); 52 | void COMP_zlib_cleanup(void); 53 | 54 | # ifdef HEADER_BIO_H 55 | # ifdef ZLIB 56 | BIO_METHOD *BIO_f_zlib(void); 57 | # endif 58 | # endif 59 | 60 | /* BEGIN ERROR CODES */ 61 | /* 62 | * The following lines are auto generated by the script mkerr.pl. Any changes 63 | * made after this point may be overwritten when the script is next run. 64 | */ 65 | void ERR_load_COMP_strings(void); 66 | 67 | /* Error codes for the COMP functions. */ 68 | 69 | /* Function codes. */ 70 | # define COMP_F_BIO_ZLIB_FLUSH 99 71 | # define COMP_F_BIO_ZLIB_NEW 100 72 | # define COMP_F_BIO_ZLIB_READ 101 73 | # define COMP_F_BIO_ZLIB_WRITE 102 74 | 75 | /* Reason codes. */ 76 | # define COMP_R_ZLIB_DEFLATE_ERROR 99 77 | # define COMP_R_ZLIB_INFLATE_ERROR 100 78 | # define COMP_R_ZLIB_NOT_SUPPORTED 101 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | #endif 84 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/conf_api.h: -------------------------------------------------------------------------------- 1 | /* conf_api.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_CONF_API_H 60 | # define HEADER_CONF_API_H 61 | 62 | # include 63 | # include 64 | 65 | #ifdef __cplusplus 66 | extern "C" { 67 | #endif 68 | 69 | /* Up until OpenSSL 0.9.5a, this was new_section */ 70 | CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); 71 | /* Up until OpenSSL 0.9.5a, this was get_section */ 72 | CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); 73 | /* Up until OpenSSL 0.9.5a, this was CONF_get_section */ 74 | STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, 75 | const char *section); 76 | 77 | int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); 78 | char *_CONF_get_string(const CONF *conf, const char *section, 79 | const char *name); 80 | long _CONF_get_number(const CONF *conf, const char *section, 81 | const char *name); 82 | 83 | int _CONF_new_data(CONF *conf); 84 | void _CONF_free_data(CONF *conf); 85 | 86 | #ifdef __cplusplus 87 | } 88 | #endif 89 | #endif 90 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | /* crypto/ebcdic.h */ 2 | 3 | #ifndef HEADER_EBCDIC_H 4 | # define HEADER_EBCDIC_H 5 | 6 | # include 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /* Avoid name clashes with other applications */ 13 | # define os_toascii _openssl_os_toascii 14 | # define os_toebcdic _openssl_os_toebcdic 15 | # define ebcdic2ascii _openssl_ebcdic2ascii 16 | # define ascii2ebcdic _openssl_ascii2ebcdic 17 | 18 | extern const unsigned char os_toascii[256]; 19 | extern const unsigned char os_toebcdic[256]; 20 | void *ebcdic2ascii(void *dest, const void *srce, size_t count); 21 | void *ascii2ebcdic(void *dest, const void *srce, size_t count); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | #endif 27 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/ecdh.h: -------------------------------------------------------------------------------- 1 | /* crypto/ecdh/ecdh.h */ 2 | /* ==================================================================== 3 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. 4 | * 5 | * The Elliptic Curve Public-Key Crypto Library (ECC Code) included 6 | * herein is developed by SUN MICROSYSTEMS, INC., and is contributed 7 | * to the OpenSSL project. 8 | * 9 | * The ECC Code is licensed pursuant to the OpenSSL open source 10 | * license provided below. 11 | * 12 | * The ECDH software is originally written by Douglas Stebila of 13 | * Sun Microsystems Laboratories. 14 | * 15 | */ 16 | /* ==================================================================== 17 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. 18 | * 19 | * Redistribution and use in source and binary forms, with or without 20 | * modification, are permitted provided that the following conditions 21 | * are met: 22 | * 23 | * 1. Redistributions of source code must retain the above copyright 24 | * notice, this list of conditions and the following disclaimer. 25 | * 26 | * 2. Redistributions in binary form must reproduce the above copyright 27 | * notice, this list of conditions and the following disclaimer in 28 | * the documentation and/or other materials provided with the 29 | * distribution. 30 | * 31 | * 3. All advertising materials mentioning features or use of this 32 | * software must display the following acknowledgment: 33 | * "This product includes software developed by the OpenSSL Project 34 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 35 | * 36 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 37 | * endorse or promote products derived from this software without 38 | * prior written permission. For written permission, please contact 39 | * licensing@OpenSSL.org. 40 | * 41 | * 5. Products derived from this software may not be called "OpenSSL" 42 | * nor may "OpenSSL" appear in their names without prior written 43 | * permission of the OpenSSL Project. 44 | * 45 | * 6. Redistributions of any form whatsoever must retain the following 46 | * acknowledgment: 47 | * "This product includes software developed by the OpenSSL Project 48 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 49 | * 50 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 51 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 52 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 53 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 54 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 55 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 56 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 57 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 58 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 59 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 60 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 61 | * OF THE POSSIBILITY OF SUCH DAMAGE. 62 | * ==================================================================== 63 | * 64 | * This product includes cryptographic software written by Eric Young 65 | * (eay@cryptsoft.com). This product includes software written by Tim 66 | * Hudson (tjh@cryptsoft.com). 67 | * 68 | */ 69 | #ifndef HEADER_ECDH_H 70 | # define HEADER_ECDH_H 71 | 72 | # include 73 | 74 | # ifdef OPENSSL_NO_ECDH 75 | # error ECDH is disabled. 76 | # endif 77 | 78 | # include 79 | # include 80 | # ifndef OPENSSL_NO_DEPRECATED 81 | # include 82 | # endif 83 | 84 | #ifdef __cplusplus 85 | extern "C" { 86 | #endif 87 | 88 | # define EC_FLAG_COFACTOR_ECDH 0x1000 89 | 90 | const ECDH_METHOD *ECDH_OpenSSL(void); 91 | 92 | void ECDH_set_default_method(const ECDH_METHOD *); 93 | const ECDH_METHOD *ECDH_get_default_method(void); 94 | int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); 95 | 96 | int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, 97 | EC_KEY *ecdh, void *(*KDF) (const void *in, size_t inlen, 98 | void *out, size_t *outlen)); 99 | 100 | int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new 101 | *new_func, CRYPTO_EX_dup *dup_func, 102 | CRYPTO_EX_free *free_func); 103 | int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); 104 | void *ECDH_get_ex_data(EC_KEY *d, int idx); 105 | 106 | int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, 107 | const unsigned char *Z, size_t Zlen, 108 | const unsigned char *sinfo, size_t sinfolen, 109 | const EVP_MD *md); 110 | 111 | /* BEGIN ERROR CODES */ 112 | /* 113 | * The following lines are auto generated by the script mkerr.pl. Any changes 114 | * made after this point may be overwritten when the script is next run. 115 | */ 116 | void ERR_load_ECDH_strings(void); 117 | 118 | /* Error codes for the ECDH functions. */ 119 | 120 | /* Function codes. */ 121 | # define ECDH_F_ECDH_CHECK 102 122 | # define ECDH_F_ECDH_COMPUTE_KEY 100 123 | # define ECDH_F_ECDH_DATA_NEW_METHOD 101 124 | 125 | /* Reason codes. */ 126 | # define ECDH_R_KDF_FAILED 102 127 | # define ECDH_R_NON_FIPS_METHOD 103 128 | # define ECDH_R_NO_PRIVATE_VALUE 100 129 | # define ECDH_R_POINT_ARITHMETIC_FAILURE 101 130 | 131 | #ifdef __cplusplus 132 | } 133 | #endif 134 | #endif 135 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/hmac.h: -------------------------------------------------------------------------------- 1 | /* crypto/hmac/hmac.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | #ifndef HEADER_HMAC_H 59 | # define HEADER_HMAC_H 60 | 61 | # include 62 | 63 | # ifdef OPENSSL_NO_HMAC 64 | # error HMAC is disabled. 65 | # endif 66 | 67 | # include 68 | 69 | # define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ 70 | 71 | #ifdef __cplusplus 72 | extern "C" { 73 | #endif 74 | 75 | typedef struct hmac_ctx_st { 76 | const EVP_MD *md; 77 | EVP_MD_CTX md_ctx; 78 | EVP_MD_CTX i_ctx; 79 | EVP_MD_CTX o_ctx; 80 | unsigned int key_length; 81 | unsigned char key[HMAC_MAX_MD_CBLOCK]; 82 | } HMAC_CTX; 83 | 84 | # define HMAC_size(e) (EVP_MD_size((e)->md)) 85 | 86 | void HMAC_CTX_init(HMAC_CTX *ctx); 87 | void HMAC_CTX_cleanup(HMAC_CTX *ctx); 88 | 89 | /* deprecated */ 90 | # define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) 91 | 92 | /* deprecated */ 93 | int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md); 94 | int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, 95 | const EVP_MD *md, ENGINE *impl); 96 | int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); 97 | int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); 98 | unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, 99 | const unsigned char *d, size_t n, unsigned char *md, 100 | unsigned int *md_len); 101 | int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); 102 | 103 | void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); 104 | 105 | #ifdef __cplusplus 106 | } 107 | #endif 108 | 109 | #endif 110 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/idea.h: -------------------------------------------------------------------------------- 1 | /* crypto/idea/idea.h */ 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_IDEA_H 60 | # define HEADER_IDEA_H 61 | 62 | # include /* IDEA_INT, OPENSSL_NO_IDEA */ 63 | 64 | # ifdef OPENSSL_NO_IDEA 65 | # error IDEA is disabled. 66 | # endif 67 | 68 | # define IDEA_ENCRYPT 1 69 | # define IDEA_DECRYPT 0 70 | 71 | # define IDEA_BLOCK 8 72 | # define IDEA_KEY_LENGTH 16 73 | 74 | #ifdef __cplusplus 75 | extern "C" { 76 | #endif 77 | 78 | typedef struct idea_key_st { 79 | IDEA_INT data[9][6]; 80 | } IDEA_KEY_SCHEDULE; 81 | 82 | const char *idea_options(void); 83 | void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, 84 | IDEA_KEY_SCHEDULE *ks); 85 | # ifdef OPENSSL_FIPS 86 | void private_idea_set_encrypt_key(const unsigned char *key, 87 | IDEA_KEY_SCHEDULE *ks); 88 | # endif 89 | void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); 90 | void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); 91 | void idea_cbc_encrypt(const unsigned char *in, unsigned char *out, 92 | long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, 93 | int enc); 94 | void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out, 95 | long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, 96 | int *num, int enc); 97 | void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, 98 | long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, 99 | int *num); 100 | void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); 101 | #ifdef __cplusplus 102 | } 103 | #endif 104 | 105 | #endif 106 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/md4.h: -------------------------------------------------------------------------------- 1 | /* crypto/md4/md4.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_MD4_H 60 | # define HEADER_MD4_H 61 | 62 | # include 63 | # include 64 | 65 | #ifdef __cplusplus 66 | extern "C" { 67 | #endif 68 | 69 | # ifdef OPENSSL_NO_MD4 70 | # error MD4 is disabled. 71 | # endif 72 | 73 | /*- 74 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 75 | * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! 76 | * ! MD4_LONG_LOG2 has to be defined along. ! 77 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 78 | */ 79 | 80 | # if defined(__LP32__) 81 | # define MD4_LONG unsigned long 82 | # elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) 83 | # define MD4_LONG unsigned long 84 | # define MD4_LONG_LOG2 3 85 | /* 86 | * _CRAY note. I could declare short, but I have no idea what impact 87 | * does it have on performance on none-T3E machines. I could declare 88 | * int, but at least on C90 sizeof(int) can be chosen at compile time. 89 | * So I've chosen long... 90 | * 91 | */ 92 | # else 93 | # define MD4_LONG unsigned int 94 | # endif 95 | 96 | # define MD4_CBLOCK 64 97 | # define MD4_LBLOCK (MD4_CBLOCK/4) 98 | # define MD4_DIGEST_LENGTH 16 99 | 100 | typedef struct MD4state_st { 101 | MD4_LONG A, B, C, D; 102 | MD4_LONG Nl, Nh; 103 | MD4_LONG data[MD4_LBLOCK]; 104 | unsigned int num; 105 | } MD4_CTX; 106 | 107 | # ifdef OPENSSL_FIPS 108 | int private_MD4_Init(MD4_CTX *c); 109 | # endif 110 | int MD4_Init(MD4_CTX *c); 111 | int MD4_Update(MD4_CTX *c, const void *data, size_t len); 112 | int MD4_Final(unsigned char *md, MD4_CTX *c); 113 | unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); 114 | void MD4_Transform(MD4_CTX *c, const unsigned char *b); 115 | #ifdef __cplusplus 116 | } 117 | #endif 118 | 119 | #endif 120 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/md5.h: -------------------------------------------------------------------------------- 1 | /* crypto/md5/md5.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_MD5_H 60 | # define HEADER_MD5_H 61 | 62 | # include 63 | # include 64 | 65 | #ifdef __cplusplus 66 | extern "C" { 67 | #endif 68 | 69 | # ifdef OPENSSL_NO_MD5 70 | # error MD5 is disabled. 71 | # endif 72 | 73 | /* 74 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 75 | * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! 76 | * ! MD5_LONG_LOG2 has to be defined along. ! 77 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 78 | */ 79 | 80 | # if defined(__LP32__) 81 | # define MD5_LONG unsigned long 82 | # elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) 83 | # define MD5_LONG unsigned long 84 | # define MD5_LONG_LOG2 3 85 | /* 86 | * _CRAY note. I could declare short, but I have no idea what impact 87 | * does it have on performance on none-T3E machines. I could declare 88 | * int, but at least on C90 sizeof(int) can be chosen at compile time. 89 | * So I've chosen long... 90 | * 91 | */ 92 | # else 93 | # define MD5_LONG unsigned int 94 | # endif 95 | 96 | # define MD5_CBLOCK 64 97 | # define MD5_LBLOCK (MD5_CBLOCK/4) 98 | # define MD5_DIGEST_LENGTH 16 99 | 100 | typedef struct MD5state_st { 101 | MD5_LONG A, B, C, D; 102 | MD5_LONG Nl, Nh; 103 | MD5_LONG data[MD5_LBLOCK]; 104 | unsigned int num; 105 | } MD5_CTX; 106 | 107 | # ifdef OPENSSL_FIPS 108 | int private_MD5_Init(MD5_CTX *c); 109 | # endif 110 | int MD5_Init(MD5_CTX *c); 111 | int MD5_Update(MD5_CTX *c, const void *data, size_t len); 112 | int MD5_Final(unsigned char *md, MD5_CTX *c); 113 | unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); 114 | void MD5_Transform(MD5_CTX *c, const unsigned char *b); 115 | #ifdef __cplusplus 116 | } 117 | #endif 118 | 119 | #endif 120 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/mdc2.h: -------------------------------------------------------------------------------- 1 | /* crypto/mdc2/mdc2.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_MDC2_H 60 | # define HEADER_MDC2_H 61 | 62 | # include 63 | 64 | #ifdef __cplusplus 65 | extern "C" { 66 | #endif 67 | 68 | # ifdef OPENSSL_NO_MDC2 69 | # error MDC2 is disabled. 70 | # endif 71 | 72 | # define MDC2_BLOCK 8 73 | # define MDC2_DIGEST_LENGTH 16 74 | 75 | typedef struct mdc2_ctx_st { 76 | unsigned int num; 77 | unsigned char data[MDC2_BLOCK]; 78 | DES_cblock h, hh; 79 | int pad_type; /* either 1 or 2, default 1 */ 80 | } MDC2_CTX; 81 | 82 | # ifdef OPENSSL_FIPS 83 | int private_MDC2_Init(MDC2_CTX *c); 84 | # endif 85 | int MDC2_Init(MDC2_CTX *c); 86 | int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); 87 | int MDC2_Final(unsigned char *md, MDC2_CTX *c); 88 | unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); 89 | 90 | #ifdef __cplusplus 91 | } 92 | #endif 93 | 94 | #endif 95 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/opensslv.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_OPENSSLV_H 2 | # define HEADER_OPENSSLV_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | /*- 9 | * Numeric release version identifier: 10 | * MNNFFPPS: major minor fix patch status 11 | * The status nibble has one of the values 0 for development, 1 to e for betas 12 | * 1 to 14, and f for release. The patch level is exactly that. 13 | * For example: 14 | * 0.9.3-dev 0x00903000 15 | * 0.9.3-beta1 0x00903001 16 | * 0.9.3-beta2-dev 0x00903002 17 | * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) 18 | * 0.9.3 0x0090300f 19 | * 0.9.3a 0x0090301f 20 | * 0.9.4 0x0090400f 21 | * 1.2.3z 0x102031af 22 | * 23 | * For continuity reasons (because 0.9.5 is already out, and is coded 24 | * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level 25 | * part is slightly different, by setting the highest bit. This means 26 | * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start 27 | * with 0x0090600S... 28 | * 29 | * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) 30 | * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for 31 | * major minor fix final patch/beta) 32 | */ 33 | # define OPENSSL_VERSION_NUMBER 0x100020afL 34 | # ifdef OPENSSL_FIPS 35 | # define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j-fips 26 Sep 2016" 36 | # else 37 | # define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j 26 Sep 2016" 38 | # endif 39 | # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT 40 | 41 | /*- 42 | * The macros below are to be used for shared library (.so, .dll, ...) 43 | * versioning. That kind of versioning works a bit differently between 44 | * operating systems. The most usual scheme is to set a major and a minor 45 | * number, and have the runtime loader check that the major number is equal 46 | * to what it was at application link time, while the minor number has to 47 | * be greater or equal to what it was at application link time. With this 48 | * scheme, the version number is usually part of the file name, like this: 49 | * 50 | * libcrypto.so.0.9 51 | * 52 | * Some unixen also make a softlink with the major verson number only: 53 | * 54 | * libcrypto.so.0 55 | * 56 | * On Tru64 and IRIX 6.x it works a little bit differently. There, the 57 | * shared library version is stored in the file, and is actually a series 58 | * of versions, separated by colons. The rightmost version present in the 59 | * library when linking an application is stored in the application to be 60 | * matched at run time. When the application is run, a check is done to 61 | * see if the library version stored in the application matches any of the 62 | * versions in the version string of the library itself. 63 | * This version string can be constructed in any way, depending on what 64 | * kind of matching is desired. However, to implement the same scheme as 65 | * the one used in the other unixen, all compatible versions, from lowest 66 | * to highest, should be part of the string. Consecutive builds would 67 | * give the following versions strings: 68 | * 69 | * 3.0 70 | * 3.0:3.1 71 | * 3.0:3.1:3.2 72 | * 4.0 73 | * 4.0:4.1 74 | * 75 | * Notice how version 4 is completely incompatible with version, and 76 | * therefore give the breach you can see. 77 | * 78 | * There may be other schemes as well that I haven't yet discovered. 79 | * 80 | * So, here's the way it works here: first of all, the library version 81 | * number doesn't need at all to match the overall OpenSSL version. 82 | * However, it's nice and more understandable if it actually does. 83 | * The current library version is stored in the macro SHLIB_VERSION_NUMBER, 84 | * which is just a piece of text in the format "M.m.e" (Major, minor, edit). 85 | * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, 86 | * we need to keep a history of version numbers, which is done in the 87 | * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and 88 | * should only keep the versions that are binary compatible with the current. 89 | */ 90 | # define SHLIB_VERSION_HISTORY "" 91 | # define SHLIB_VERSION_NUMBER "1.0.0" 92 | 93 | 94 | #ifdef __cplusplus 95 | } 96 | #endif 97 | #endif /* HEADER_OPENSSLV_H */ 98 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | /* ==================================================================== 2 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in 13 | * the documentation and/or other materials provided with the 14 | * distribution. 15 | * 16 | * 3. All advertising materials mentioning features or use of this 17 | * software must display the following acknowledgment: 18 | * "This product includes software developed by the OpenSSL Project 19 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 20 | * 21 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 22 | * endorse or promote products derived from this software without 23 | * prior written permission. For written permission, please contact 24 | * licensing@OpenSSL.org. 25 | * 26 | * 5. Products derived from this software may not be called "OpenSSL" 27 | * nor may "OpenSSL" appear in their names without prior written 28 | * permission of the OpenSSL Project. 29 | * 30 | * 6. Redistributions of any form whatsoever must retain the following 31 | * acknowledgment: 32 | * "This product includes software developed by the OpenSSL Project 33 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 34 | * 35 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 36 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 37 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 38 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 39 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 41 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 42 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 43 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 44 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 45 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 46 | * OF THE POSSIBILITY OF SUCH DAMAGE. 47 | * ==================================================================== 48 | * 49 | * This product includes cryptographic software written by Eric Young 50 | * (eay@cryptsoft.com). This product includes software written by Tim 51 | * Hudson (tjh@cryptsoft.com). 52 | * 53 | */ 54 | 55 | /* 56 | * This header only exists to break a circular dependency between pem and err 57 | * Ben 30 Jan 1999. 58 | */ 59 | 60 | #ifdef __cplusplus 61 | extern "C" { 62 | #endif 63 | 64 | #ifndef HEADER_PEM_H 65 | void ERR_load_PEM_strings(void); 66 | #endif 67 | 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/pqueue.h: -------------------------------------------------------------------------------- 1 | /* crypto/pqueue/pqueue.h */ 2 | /* 3 | * DTLS implementation written by Nagendra Modadugu 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 5 | */ 6 | /* ==================================================================== 7 | * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted provided that the following conditions 11 | * are met: 12 | * 13 | * 1. Redistributions of source code must retain the above copyright 14 | * notice, this list of conditions and the following disclaimer. 15 | * 16 | * 2. Redistributions in binary form must reproduce the above copyright 17 | * notice, this list of conditions and the following disclaimer in 18 | * the documentation and/or other materials provided with the 19 | * distribution. 20 | * 21 | * 3. All advertising materials mentioning features or use of this 22 | * software must display the following acknowledgment: 23 | * "This product includes software developed by the OpenSSL Project 24 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 25 | * 26 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 27 | * endorse or promote products derived from this software without 28 | * prior written permission. For written permission, please contact 29 | * openssl-core@OpenSSL.org. 30 | * 31 | * 5. Products derived from this software may not be called "OpenSSL" 32 | * nor may "OpenSSL" appear in their names without prior written 33 | * permission of the OpenSSL Project. 34 | * 35 | * 6. Redistributions of any form whatsoever must retain the following 36 | * acknowledgment: 37 | * "This product includes software developed by the OpenSSL Project 38 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 39 | * 40 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 41 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 42 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 43 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 44 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 46 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 47 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 49 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 50 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51 | * OF THE POSSIBILITY OF SUCH DAMAGE. 52 | * ==================================================================== 53 | * 54 | * This product includes cryptographic software written by Eric Young 55 | * (eay@cryptsoft.com). This product includes software written by Tim 56 | * Hudson (tjh@cryptsoft.com). 57 | * 58 | */ 59 | 60 | #ifndef HEADER_PQUEUE_H 61 | # define HEADER_PQUEUE_H 62 | 63 | # include 64 | # include 65 | # include 66 | 67 | #ifdef __cplusplus 68 | extern "C" { 69 | #endif 70 | typedef struct _pqueue *pqueue; 71 | 72 | typedef struct _pitem { 73 | unsigned char priority[8]; /* 64-bit value in big-endian encoding */ 74 | void *data; 75 | struct _pitem *next; 76 | } pitem; 77 | 78 | typedef struct _pitem *piterator; 79 | 80 | pitem *pitem_new(unsigned char *prio64be, void *data); 81 | void pitem_free(pitem *item); 82 | 83 | pqueue pqueue_new(void); 84 | void pqueue_free(pqueue pq); 85 | 86 | pitem *pqueue_insert(pqueue pq, pitem *item); 87 | pitem *pqueue_peek(pqueue pq); 88 | pitem *pqueue_pop(pqueue pq); 89 | pitem *pqueue_find(pqueue pq, unsigned char *prio64be); 90 | pitem *pqueue_iterator(pqueue pq); 91 | pitem *pqueue_next(piterator *iter); 92 | 93 | void pqueue_print(pqueue pq); 94 | int pqueue_size(pqueue pq); 95 | 96 | #ifdef __cplusplus 97 | } 98 | #endif 99 | #endif /* ! HEADER_PQUEUE_H */ 100 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/rand.h: -------------------------------------------------------------------------------- 1 | /* crypto/rand/rand.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_RAND_H 60 | # define HEADER_RAND_H 61 | 62 | # include 63 | # include 64 | # include 65 | 66 | # if defined(OPENSSL_SYS_WINDOWS) 67 | # include 68 | # endif 69 | 70 | #ifdef __cplusplus 71 | extern "C" { 72 | #endif 73 | 74 | # if defined(OPENSSL_FIPS) 75 | # define FIPS_RAND_SIZE_T size_t 76 | # endif 77 | 78 | /* Already defined in ossl_typ.h */ 79 | /* typedef struct rand_meth_st RAND_METHOD; */ 80 | 81 | struct rand_meth_st { 82 | void (*seed) (const void *buf, int num); 83 | int (*bytes) (unsigned char *buf, int num); 84 | void (*cleanup) (void); 85 | void (*add) (const void *buf, int num, double entropy); 86 | int (*pseudorand) (unsigned char *buf, int num); 87 | int (*status) (void); 88 | }; 89 | 90 | # ifdef BN_DEBUG 91 | extern int rand_predictable; 92 | # endif 93 | 94 | int RAND_set_rand_method(const RAND_METHOD *meth); 95 | const RAND_METHOD *RAND_get_rand_method(void); 96 | # ifndef OPENSSL_NO_ENGINE 97 | int RAND_set_rand_engine(ENGINE *engine); 98 | # endif 99 | RAND_METHOD *RAND_SSLeay(void); 100 | void RAND_cleanup(void); 101 | int RAND_bytes(unsigned char *buf, int num); 102 | int RAND_pseudo_bytes(unsigned char *buf, int num); 103 | void RAND_seed(const void *buf, int num); 104 | void RAND_add(const void *buf, int num, double entropy); 105 | int RAND_load_file(const char *file, long max_bytes); 106 | int RAND_write_file(const char *file); 107 | const char *RAND_file_name(char *file, size_t num); 108 | int RAND_status(void); 109 | int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); 110 | int RAND_egd(const char *path); 111 | int RAND_egd_bytes(const char *path, int bytes); 112 | int RAND_poll(void); 113 | 114 | # if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) 115 | 116 | void RAND_screen(void); 117 | int RAND_event(UINT, WPARAM, LPARAM); 118 | 119 | # endif 120 | 121 | # ifdef OPENSSL_FIPS 122 | void RAND_set_fips_drbg_type(int type, int flags); 123 | int RAND_init_fips(void); 124 | # endif 125 | 126 | /* BEGIN ERROR CODES */ 127 | /* 128 | * The following lines are auto generated by the script mkerr.pl. Any changes 129 | * made after this point may be overwritten when the script is next run. 130 | */ 131 | void ERR_load_RAND_strings(void); 132 | 133 | /* Error codes for the RAND functions. */ 134 | 135 | /* Function codes. */ 136 | # define RAND_F_RAND_GET_RAND_METHOD 101 137 | # define RAND_F_RAND_INIT_FIPS 102 138 | # define RAND_F_SSLEAY_RAND_BYTES 100 139 | 140 | /* Reason codes. */ 141 | # define RAND_R_DUAL_EC_DRBG_DISABLED 104 142 | # define RAND_R_ERROR_INITIALISING_DRBG 102 143 | # define RAND_R_ERROR_INSTANTIATING_DRBG 103 144 | # define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 145 | # define RAND_R_PRNG_NOT_SEEDED 100 146 | 147 | #ifdef __cplusplus 148 | } 149 | #endif 150 | #endif 151 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/rc2.h: -------------------------------------------------------------------------------- 1 | /* crypto/rc2/rc2.h */ 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_RC2_H 60 | # define HEADER_RC2_H 61 | 62 | # include /* OPENSSL_NO_RC2, RC2_INT */ 63 | # ifdef OPENSSL_NO_RC2 64 | # error RC2 is disabled. 65 | # endif 66 | 67 | # define RC2_ENCRYPT 1 68 | # define RC2_DECRYPT 0 69 | 70 | # define RC2_BLOCK 8 71 | # define RC2_KEY_LENGTH 16 72 | 73 | #ifdef __cplusplus 74 | extern "C" { 75 | #endif 76 | 77 | typedef struct rc2_key_st { 78 | RC2_INT data[64]; 79 | } RC2_KEY; 80 | 81 | # ifdef OPENSSL_FIPS 82 | void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, 83 | int bits); 84 | # endif 85 | void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); 86 | void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, 87 | RC2_KEY *key, int enc); 88 | void RC2_encrypt(unsigned long *data, RC2_KEY *key); 89 | void RC2_decrypt(unsigned long *data, RC2_KEY *key); 90 | void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, 91 | RC2_KEY *ks, unsigned char *iv, int enc); 92 | void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, 93 | long length, RC2_KEY *schedule, unsigned char *ivec, 94 | int *num, int enc); 95 | void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, 96 | long length, RC2_KEY *schedule, unsigned char *ivec, 97 | int *num); 98 | 99 | #ifdef __cplusplus 100 | } 101 | #endif 102 | 103 | #endif 104 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | /* crypto/rc4/rc4.h */ 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_RC4_H 60 | # define HEADER_RC4_H 61 | 62 | # include /* OPENSSL_NO_RC4, RC4_INT */ 63 | # ifdef OPENSSL_NO_RC4 64 | # error RC4 is disabled. 65 | # endif 66 | 67 | # include 68 | 69 | #ifdef __cplusplus 70 | extern "C" { 71 | #endif 72 | 73 | typedef struct rc4_key_st { 74 | RC4_INT x, y; 75 | RC4_INT data[256]; 76 | } RC4_KEY; 77 | 78 | const char *RC4_options(void); 79 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 80 | void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 81 | void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, 82 | unsigned char *outdata); 83 | 84 | #ifdef __cplusplus 85 | } 86 | #endif 87 | 88 | #endif 89 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/ripemd.h: -------------------------------------------------------------------------------- 1 | /* crypto/ripemd/ripemd.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_RIPEMD_H 60 | # define HEADER_RIPEMD_H 61 | 62 | # include 63 | # include 64 | 65 | #ifdef __cplusplus 66 | extern "C" { 67 | #endif 68 | 69 | # ifdef OPENSSL_NO_RIPEMD 70 | # error RIPEMD is disabled. 71 | # endif 72 | 73 | # if defined(__LP32__) 74 | # define RIPEMD160_LONG unsigned long 75 | # elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) 76 | # define RIPEMD160_LONG unsigned long 77 | # define RIPEMD160_LONG_LOG2 3 78 | # else 79 | # define RIPEMD160_LONG unsigned int 80 | # endif 81 | 82 | # define RIPEMD160_CBLOCK 64 83 | # define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) 84 | # define RIPEMD160_DIGEST_LENGTH 20 85 | 86 | typedef struct RIPEMD160state_st { 87 | RIPEMD160_LONG A, B, C, D, E; 88 | RIPEMD160_LONG Nl, Nh; 89 | RIPEMD160_LONG data[RIPEMD160_LBLOCK]; 90 | unsigned int num; 91 | } RIPEMD160_CTX; 92 | 93 | # ifdef OPENSSL_FIPS 94 | int private_RIPEMD160_Init(RIPEMD160_CTX *c); 95 | # endif 96 | int RIPEMD160_Init(RIPEMD160_CTX *c); 97 | int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); 98 | int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); 99 | unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); 100 | void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); 101 | #ifdef __cplusplus 102 | } 103 | #endif 104 | 105 | #endif 106 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/seed.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Neither the name of author nor the names of its contributors may 10 | * be used to endorse or promote products derived from this software 11 | * without specific prior written permission. 12 | * 13 | * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 | * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 | * SUCH DAMAGE. 24 | * 25 | */ 26 | /* ==================================================================== 27 | * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. 28 | * 29 | * Redistribution and use in source and binary forms, with or without 30 | * modification, are permitted provided that the following conditions 31 | * are met: 32 | * 33 | * 1. Redistributions of source code must retain the above copyright 34 | * notice, this list of conditions and the following disclaimer. 35 | * 36 | * 2. Redistributions in binary form must reproduce the above copyright 37 | * notice, this list of conditions and the following disclaimer in 38 | * the documentation and/or other materials provided with the 39 | * distribution. 40 | * 41 | * 3. All advertising materials mentioning features or use of this 42 | * software must display the following acknowledgment: 43 | * "This product includes software developed by the OpenSSL Project 44 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 45 | * 46 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 47 | * endorse or promote products derived from this software without 48 | * prior written permission. For written permission, please contact 49 | * openssl-core@openssl.org. 50 | * 51 | * 5. Products derived from this software may not be called "OpenSSL" 52 | * nor may "OpenSSL" appear in their names without prior written 53 | * permission of the OpenSSL Project. 54 | * 55 | * 6. Redistributions of any form whatsoever must retain the following 56 | * acknowledgment: 57 | * "This product includes software developed by the OpenSSL Project 58 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 59 | * 60 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 61 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 62 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 63 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 64 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 65 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 66 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 67 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 68 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 69 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 70 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 71 | * OF THE POSSIBILITY OF SUCH DAMAGE. 72 | * ==================================================================== 73 | * 74 | * This product includes cryptographic software written by Eric Young 75 | * (eay@cryptsoft.com). This product includes software written by Tim 76 | * Hudson (tjh@cryptsoft.com). 77 | * 78 | */ 79 | 80 | #ifndef HEADER_SEED_H 81 | # define HEADER_SEED_H 82 | 83 | # include 84 | # include 85 | # include 86 | 87 | # ifdef OPENSSL_NO_SEED 88 | # error SEED is disabled. 89 | # endif 90 | 91 | /* look whether we need 'long' to get 32 bits */ 92 | # ifdef AES_LONG 93 | # ifndef SEED_LONG 94 | # define SEED_LONG 1 95 | # endif 96 | # endif 97 | 98 | # if !defined(NO_SYS_TYPES_H) 99 | # include 100 | # endif 101 | 102 | # define SEED_BLOCK_SIZE 16 103 | # define SEED_KEY_LENGTH 16 104 | 105 | 106 | #ifdef __cplusplus 107 | extern "C" { 108 | #endif 109 | 110 | typedef struct seed_key_st { 111 | # ifdef SEED_LONG 112 | unsigned long data[32]; 113 | # else 114 | unsigned int data[32]; 115 | # endif 116 | } SEED_KEY_SCHEDULE; 117 | 118 | # ifdef OPENSSL_FIPS 119 | void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], 120 | SEED_KEY_SCHEDULE *ks); 121 | # endif 122 | void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], 123 | SEED_KEY_SCHEDULE *ks); 124 | 125 | void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], 126 | unsigned char d[SEED_BLOCK_SIZE], 127 | const SEED_KEY_SCHEDULE *ks); 128 | void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], 129 | unsigned char d[SEED_BLOCK_SIZE], 130 | const SEED_KEY_SCHEDULE *ks); 131 | 132 | void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, 133 | const SEED_KEY_SCHEDULE *ks, int enc); 134 | void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, 135 | const SEED_KEY_SCHEDULE *ks, 136 | unsigned char ivec[SEED_BLOCK_SIZE], int enc); 137 | void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, 138 | size_t len, const SEED_KEY_SCHEDULE *ks, 139 | unsigned char ivec[SEED_BLOCK_SIZE], int *num, 140 | int enc); 141 | void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, 142 | size_t len, const SEED_KEY_SCHEDULE *ks, 143 | unsigned char ivec[SEED_BLOCK_SIZE], int *num); 144 | 145 | #ifdef __cplusplus 146 | } 147 | #endif 148 | 149 | #endif /* HEADER_SEED_H */ 150 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/srp.h: -------------------------------------------------------------------------------- 1 | /* crypto/srp/srp.h */ 2 | /* 3 | * Written by Christophe Renou (christophe.renou@edelweb.fr) with the 4 | * precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the 5 | * EdelKey project and contributed to the OpenSSL project 2004. 6 | */ 7 | /* ==================================================================== 8 | * Copyright (c) 2004 The OpenSSL Project. All rights reserved. 9 | * 10 | * Redistribution and use in source and binary forms, with or without 11 | * modification, are permitted provided that the following conditions 12 | * are met: 13 | * 14 | * 1. Redistributions of source code must retain the above copyright 15 | * notice, this list of conditions and the following disclaimer. 16 | * 17 | * 2. Redistributions in binary form must reproduce the above copyright 18 | * notice, this list of conditions and the following disclaimer in 19 | * the documentation and/or other materials provided with the 20 | * distribution. 21 | * 22 | * 3. All advertising materials mentioning features or use of this 23 | * software must display the following acknowledgment: 24 | * "This product includes software developed by the OpenSSL Project 25 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 26 | * 27 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 28 | * endorse or promote products derived from this software without 29 | * prior written permission. For written permission, please contact 30 | * licensing@OpenSSL.org. 31 | * 32 | * 5. Products derived from this software may not be called "OpenSSL" 33 | * nor may "OpenSSL" appear in their names without prior written 34 | * permission of the OpenSSL Project. 35 | * 36 | * 6. Redistributions of any form whatsoever must retain the following 37 | * acknowledgment: 38 | * "This product includes software developed by the OpenSSL Project 39 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 42 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 44 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 45 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 46 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 47 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 48 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 49 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 50 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 51 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 52 | * OF THE POSSIBILITY OF SUCH DAMAGE. 53 | * ==================================================================== 54 | * 55 | * This product includes cryptographic software written by Eric Young 56 | * (eay@cryptsoft.com). This product includes software written by Tim 57 | * Hudson (tjh@cryptsoft.com). 58 | * 59 | */ 60 | #ifndef __SRP_H__ 61 | # define __SRP_H__ 62 | 63 | # ifndef OPENSSL_NO_SRP 64 | 65 | # include 66 | # include 67 | 68 | #ifdef __cplusplus 69 | extern "C" { 70 | #endif 71 | 72 | # include 73 | # include 74 | # include 75 | 76 | typedef struct SRP_gN_cache_st { 77 | char *b64_bn; 78 | BIGNUM *bn; 79 | } SRP_gN_cache; 80 | 81 | 82 | DECLARE_STACK_OF(SRP_gN_cache) 83 | 84 | typedef struct SRP_user_pwd_st { 85 | /* Owned by us. */ 86 | char *id; 87 | BIGNUM *s; 88 | BIGNUM *v; 89 | /* Not owned by us. */ 90 | const BIGNUM *g; 91 | const BIGNUM *N; 92 | /* Owned by us. */ 93 | char *info; 94 | } SRP_user_pwd; 95 | 96 | DECLARE_STACK_OF(SRP_user_pwd) 97 | 98 | void SRP_user_pwd_free(SRP_user_pwd *user_pwd); 99 | 100 | typedef struct SRP_VBASE_st { 101 | STACK_OF(SRP_user_pwd) *users_pwd; 102 | STACK_OF(SRP_gN_cache) *gN_cache; 103 | /* to simulate a user */ 104 | char *seed_key; 105 | BIGNUM *default_g; 106 | BIGNUM *default_N; 107 | } SRP_VBASE; 108 | 109 | /* 110 | * Structure interne pour retenir les couples N et g 111 | */ 112 | typedef struct SRP_gN_st { 113 | char *id; 114 | BIGNUM *g; 115 | BIGNUM *N; 116 | } SRP_gN; 117 | 118 | DECLARE_STACK_OF(SRP_gN) 119 | 120 | SRP_VBASE *SRP_VBASE_new(char *seed_key); 121 | int SRP_VBASE_free(SRP_VBASE *vb); 122 | int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); 123 | 124 | /* This method ignores the configured seed and fails for an unknown user. */ 125 | SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); 126 | /* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ 127 | SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); 128 | 129 | char *SRP_create_verifier(const char *user, const char *pass, char **salt, 130 | char **verifier, const char *N, const char *g); 131 | int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, 132 | BIGNUM **verifier, BIGNUM *N, BIGNUM *g); 133 | 134 | # define SRP_NO_ERROR 0 135 | # define SRP_ERR_VBASE_INCOMPLETE_FILE 1 136 | # define SRP_ERR_VBASE_BN_LIB 2 137 | # define SRP_ERR_OPEN_FILE 3 138 | # define SRP_ERR_MEMORY 4 139 | 140 | # define DB_srptype 0 141 | # define DB_srpverifier 1 142 | # define DB_srpsalt 2 143 | # define DB_srpid 3 144 | # define DB_srpgN 4 145 | # define DB_srpinfo 5 146 | # undef DB_NUMBER 147 | # define DB_NUMBER 6 148 | 149 | # define DB_SRP_INDEX 'I' 150 | # define DB_SRP_VALID 'V' 151 | # define DB_SRP_REVOKED 'R' 152 | # define DB_SRP_MODIF 'v' 153 | 154 | /* see srp.c */ 155 | char *SRP_check_known_gN_param(BIGNUM *g, BIGNUM *N); 156 | SRP_gN *SRP_get_default_gN(const char *id); 157 | 158 | /* server side .... */ 159 | BIGNUM *SRP_Calc_server_key(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, 160 | BIGNUM *N); 161 | BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); 162 | int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); 163 | BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N); 164 | 165 | /* client side .... */ 166 | BIGNUM *SRP_Calc_x(BIGNUM *s, const char *user, const char *pass); 167 | BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); 168 | BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, 169 | BIGNUM *a, BIGNUM *u); 170 | int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); 171 | 172 | # define SRP_MINIMAL_N 1024 173 | 174 | #ifdef __cplusplus 175 | } 176 | #endif 177 | 178 | # endif 179 | #endif 180 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/ssl23.h: -------------------------------------------------------------------------------- 1 | /* ssl/ssl23.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_SSL23_H 60 | # define HEADER_SSL23_H 61 | 62 | #ifdef __cplusplus 63 | extern "C" { 64 | #endif 65 | 66 | /* 67 | * client 68 | */ 69 | /* write to server */ 70 | # define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) 71 | # define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) 72 | /* read from server */ 73 | # define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) 74 | # define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) 75 | 76 | /* server */ 77 | /* read from client */ 78 | # define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) 79 | # define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) 80 | 81 | #ifdef __cplusplus 82 | } 83 | #endif 84 | #endif 85 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/stack.h: -------------------------------------------------------------------------------- 1 | /* crypto/stack/stack.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_STACK_H 60 | # define HEADER_STACK_H 61 | 62 | #ifdef __cplusplus 63 | extern "C" { 64 | #endif 65 | 66 | typedef struct stack_st { 67 | int num; 68 | char **data; 69 | int sorted; 70 | int num_alloc; 71 | int (*comp) (const void *, const void *); 72 | } _STACK; /* Use STACK_OF(...) instead */ 73 | 74 | # define M_sk_num(sk) ((sk) ? (sk)->num:-1) 75 | # define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) 76 | 77 | int sk_num(const _STACK *); 78 | void *sk_value(const _STACK *, int); 79 | 80 | void *sk_set(_STACK *, int, void *); 81 | 82 | _STACK *sk_new(int (*cmp) (const void *, const void *)); 83 | _STACK *sk_new_null(void); 84 | void sk_free(_STACK *); 85 | void sk_pop_free(_STACK *st, void (*func) (void *)); 86 | _STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(void *)); 87 | int sk_insert(_STACK *sk, void *data, int where); 88 | void *sk_delete(_STACK *st, int loc); 89 | void *sk_delete_ptr(_STACK *st, void *p); 90 | int sk_find(_STACK *st, void *data); 91 | int sk_find_ex(_STACK *st, void *data); 92 | int sk_push(_STACK *st, void *data); 93 | int sk_unshift(_STACK *st, void *data); 94 | void *sk_shift(_STACK *st); 95 | void *sk_pop(_STACK *st); 96 | void sk_zero(_STACK *st); 97 | int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *))) 98 | (const void *, const void *); 99 | _STACK *sk_dup(_STACK *st); 100 | void sk_sort(_STACK *st); 101 | int sk_is_sorted(const _STACK *st); 102 | 103 | #ifdef __cplusplus 104 | } 105 | #endif 106 | 107 | #endif 108 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/txt_db.h: -------------------------------------------------------------------------------- 1 | /* crypto/txt_db/txt_db.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_TXT_DB_H 60 | # define HEADER_TXT_DB_H 61 | 62 | # include 63 | # ifndef OPENSSL_NO_BIO 64 | # include 65 | # endif 66 | # include 67 | # include 68 | 69 | # define DB_ERROR_OK 0 70 | # define DB_ERROR_MALLOC 1 71 | # define DB_ERROR_INDEX_CLASH 2 72 | # define DB_ERROR_INDEX_OUT_OF_RANGE 3 73 | # define DB_ERROR_NO_INDEX 4 74 | # define DB_ERROR_INSERT_INDEX_CLASH 5 75 | 76 | #ifdef __cplusplus 77 | extern "C" { 78 | #endif 79 | 80 | typedef OPENSSL_STRING *OPENSSL_PSTRING; 81 | DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) 82 | 83 | typedef struct txt_db_st { 84 | int num_fields; 85 | STACK_OF(OPENSSL_PSTRING) *data; 86 | LHASH_OF(OPENSSL_STRING) **index; 87 | int (**qual) (OPENSSL_STRING *); 88 | long error; 89 | long arg1; 90 | long arg2; 91 | OPENSSL_STRING *arg_row; 92 | } TXT_DB; 93 | 94 | # ifndef OPENSSL_NO_BIO 95 | TXT_DB *TXT_DB_read(BIO *in, int num); 96 | long TXT_DB_write(BIO *out, TXT_DB *db); 97 | # else 98 | TXT_DB *TXT_DB_read(char *in, int num); 99 | long TXT_DB_write(char *out, TXT_DB *db); 100 | # endif 101 | int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), 102 | LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); 103 | void TXT_DB_free(TXT_DB *db); 104 | OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, 105 | OPENSSL_STRING *value); 106 | int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); 107 | 108 | #ifdef __cplusplus 109 | } 110 | #endif 111 | 112 | #endif 113 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/ui_compat.h: -------------------------------------------------------------------------------- 1 | /* crypto/ui/ui.h */ 2 | /* 3 | * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project 4 | * 2001. 5 | */ 6 | /* ==================================================================== 7 | * Copyright (c) 2001 The OpenSSL Project. All rights reserved. 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted provided that the following conditions 11 | * are met: 12 | * 13 | * 1. Redistributions of source code must retain the above copyright 14 | * notice, this list of conditions and the following disclaimer. 15 | * 16 | * 2. Redistributions in binary form must reproduce the above copyright 17 | * notice, this list of conditions and the following disclaimer in 18 | * the documentation and/or other materials provided with the 19 | * distribution. 20 | * 21 | * 3. All advertising materials mentioning features or use of this 22 | * software must display the following acknowledgment: 23 | * "This product includes software developed by the OpenSSL Project 24 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 25 | * 26 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 27 | * endorse or promote products derived from this software without 28 | * prior written permission. For written permission, please contact 29 | * openssl-core@openssl.org. 30 | * 31 | * 5. Products derived from this software may not be called "OpenSSL" 32 | * nor may "OpenSSL" appear in their names without prior written 33 | * permission of the OpenSSL Project. 34 | * 35 | * 6. Redistributions of any form whatsoever must retain the following 36 | * acknowledgment: 37 | * "This product includes software developed by the OpenSSL Project 38 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 39 | * 40 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 41 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 42 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 43 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 44 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 46 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 47 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 49 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 50 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51 | * OF THE POSSIBILITY OF SUCH DAMAGE. 52 | * ==================================================================== 53 | * 54 | * This product includes cryptographic software written by Eric Young 55 | * (eay@cryptsoft.com). This product includes software written by Tim 56 | * Hudson (tjh@cryptsoft.com). 57 | * 58 | */ 59 | 60 | #ifndef HEADER_UI_COMPAT_H 61 | # define HEADER_UI_COMPAT_H 62 | 63 | # include 64 | # include 65 | 66 | #ifdef __cplusplus 67 | extern "C" { 68 | #endif 69 | 70 | /* 71 | * The following functions were previously part of the DES section, and are 72 | * provided here for backward compatibility reasons. 73 | */ 74 | 75 | # define des_read_pw_string(b,l,p,v) \ 76 | _ossl_old_des_read_pw_string((b),(l),(p),(v)) 77 | # define des_read_pw(b,bf,s,p,v) \ 78 | _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) 79 | 80 | int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, 81 | int verify); 82 | int _ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, 83 | int verify); 84 | 85 | #ifdef __cplusplus 86 | } 87 | #endif 88 | #endif 89 | -------------------------------------------------------------------------------- /Demo/Pods/OpenSSL/opensslIncludes/openssl/whrlpool.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_WHRLPOOL_H 2 | # define HEADER_WHRLPOOL_H 3 | 4 | # include 5 | # include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | # define WHIRLPOOL_DIGEST_LENGTH (512/8) 12 | # define WHIRLPOOL_BBLOCK 512 13 | # define WHIRLPOOL_COUNTER (256/8) 14 | 15 | typedef struct { 16 | union { 17 | unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; 18 | /* double q is here to ensure 64-bit alignment */ 19 | double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; 20 | } H; 21 | unsigned char data[WHIRLPOOL_BBLOCK / 8]; 22 | unsigned int bitoff; 23 | size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; 24 | } WHIRLPOOL_CTX; 25 | 26 | # ifndef OPENSSL_NO_WHIRLPOOL 27 | # ifdef OPENSSL_FIPS 28 | int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); 29 | # endif 30 | int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); 31 | int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); 32 | void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); 33 | int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); 34 | unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); 35 | # endif 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Demo/Pods/Pods.xcodeproj/xcuserdata/acbancroft.xcuserdatad/xcschemes/Pods-SwiftyLocalReceiptValidatorDemo.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 35 | 36 | 47 | 48 | 54 | 55 | 56 | 57 | 58 | 59 | 65 | 66 | 68 | 69 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Demo/Pods/Pods.xcodeproj/xcuserdata/acbancroft.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-SwiftyLocalReceiptValidatorDemo.xcscheme 8 | 9 | isShown 10 | 11 | orderHint 12 | 0 13 | 14 | 15 | SuppressBuildableAutocreation 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_SwiftyLocalReceiptValidatorDemo : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_SwiftyLocalReceiptValidatorDemo 5 | @end 6 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 42 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 43 | ;; 44 | *.xib) 45 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 46 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 96 | fi 97 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_SwiftyLocalReceiptValidatorDemoVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_SwiftyLocalReceiptValidatorDemoVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/OpenSSL" 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/OpenSSL/lib" 6 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/OpenSSL" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"crypto" -l"ssl" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT}/Pods 11 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_SwiftyLocalReceiptValidatorDemo { 2 | umbrella header "Pods-SwiftyLocalReceiptValidatorDemo-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Demo/Pods/Target Support Files/Pods-SwiftyLocalReceiptValidatorDemo/Pods-SwiftyLocalReceiptValidatorDemo.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/OpenSSL" 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/OpenSSL/lib" 6 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/OpenSSL" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"crypto" -l"ssl" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT}/Pods 11 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo.xcodeproj/project.xcworkspace/xcuserdata/acbancroft.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewcbancroft/SwiftyLocalReceiptValidator/fafe1e7f5ab443e67f0f0ab7a17cef12ad94f19f/Demo/SwiftyLocalReceiptValidatorDemo.xcodeproj/project.xcworkspace/xcuserdata/acbancroft.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo.xcodeproj/xcuserdata/acbancroft.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | SwiftyLocalReceiptValidatorDemo.xcscheme 8 | 9 | orderHint 10 | 1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo.xcworkspace/xcuserdata/acbancroft.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewcbancroft/SwiftyLocalReceiptValidator/fafe1e7f5ab443e67f0f0ab7a17cef12ad94f19f/Demo/SwiftyLocalReceiptValidatorDemo.xcworkspace/xcuserdata/acbancroft.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // SwiftyLocalReceiptValidatorDemo 4 | // 5 | // Created by Andrew Bancroft on 10/26/17. 6 | // Copyright © 2017 Andrew Bancroft. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | 17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 18 | // Override point for customization after application launch. 19 | return true 20 | } 21 | 22 | func applicationWillResignActive(_ application: UIApplication) { 23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 24 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 25 | } 26 | 27 | func applicationDidEnterBackground(_ application: UIApplication) { 28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 30 | } 31 | 32 | func applicationWillEnterForeground(_ application: UIApplication) { 33 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | func applicationDidBecomeActive(_ application: UIApplication) { 37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 38 | } 39 | 40 | func applicationWillTerminate(_ application: UIApplication) { 41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 42 | } 43 | 44 | 45 | } 46 | 47 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | } 88 | ], 89 | "info" : { 90 | "version" : 1, 91 | "author" : "xcode" 92 | } 93 | } -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/SwiftyLocalReceiptValidatorDemo-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | #include "pkcs7_union_accessors.h" 5 | #import 6 | #import 7 | #import 8 | #import 9 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // SwiftyLocalReceiptValidatorDemo 4 | // 5 | // Created by Andrew Bancroft on 10/26/17. 6 | // Copyright © 2017 Andrew Bancroft. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/pkcs7_union_accessors.c: -------------------------------------------------------------------------------- 1 | // 2 | // pkcs7_union_accessors.c 3 | // SwiftyReceiptValidatorDemo 4 | // 5 | // Created by Andrew Bancroft on 10/26/17. 6 | // Copyright © 2017 Andrew Bancroft. All rights reserved. 7 | // 8 | 9 | #include "pkcs7_union_accessors.h" 10 | 11 | inline char *pkcs7_d_char(PKCS7 *ptr) { 12 | return ptr->d.ptr; 13 | } 14 | 15 | inline ASN1_OCTET_STRING *pkcs7_d_data(PKCS7 *ptr) { 16 | return ptr->d.data; 17 | } 18 | 19 | inline PKCS7_SIGNED *pkcs7_d_sign(PKCS7 *ptr) { 20 | return ptr->d.sign; 21 | } 22 | 23 | inline PKCS7_ENVELOPE *pkcs7_d_enveloped(PKCS7 *ptr) { 24 | return ptr->d.enveloped; 25 | } 26 | 27 | inline PKCS7_SIGN_ENVELOPE *pkcs7_d_signed_and_enveloped(PKCS7 *ptr) { 28 | return ptr->d.signed_and_enveloped; 29 | } 30 | 31 | inline PKCS7_DIGEST *pkcs7_d_digest(PKCS7 *ptr) { 32 | return ptr->d.digest; 33 | } 34 | 35 | inline PKCS7_ENCRYPT *pkcs7_d_encrypted(PKCS7 *ptr) { 36 | return ptr->d.encrypted; 37 | } 38 | 39 | inline ASN1_TYPE *pkcs7_d_other(PKCS7 *ptr) { 40 | return ptr->d.other; 41 | } 42 | 43 | -------------------------------------------------------------------------------- /Demo/SwiftyLocalReceiptValidatorDemo/pkcs7_union_accessors.h: -------------------------------------------------------------------------------- 1 | #ifndef pkcs7_union_accessors_h 2 | #define pkcs7_union_accessors_h 3 | 4 | #include 5 | 6 | char *pkcs7_d_char(PKCS7 *ptr); 7 | ASN1_OCTET_STRING *pkcs7_d_data(PKCS7 *ptr); 8 | PKCS7_SIGNED *pkcs7_d_sign(PKCS7 *ptr); 9 | PKCS7_ENVELOPE *pkcs7_d_enveloped(PKCS7 *ptr); 10 | PKCS7_SIGN_ENVELOPE *pkcs7_d_signed_and_enveloped(PKCS7 *ptr); 11 | PKCS7_DIGEST *pkcs7_d_digest(PKCS7 *ptr); 12 | PKCS7_ENCRYPT *pkcs7_d_encrypted(PKCS7 *ptr); 13 | ASN1_TYPE *pkcs7_d_other(PKCS7 *ptr); 14 | 15 | #endif /* pkcs7_union_accessors_h */ 16 | 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Andrew Bancroft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Swifty Local Receipt Validator 2 | This repository contains an example implementation of local receipt validation logic for iOS in Swift. 3 | 4 | * [Prerequisites](#prerequisites) 5 | * [Disclaimer](#disclaimer) 6 | * [Usage](#usage) 7 | * [Output Types](#output-types) 8 | * [Call Site](#call-site) 9 | * 📝 [Explanatory Guides](#explanatory-guides) 10 | * 🎥 [Implementing In-app Purchases on iOS at Pluralsight](#implementing-in-app-purchases-on-ios) 11 | 12 | # Prerequisites 13 | 1. You need a copy of Apple's Root Certificate included in your application bundle for local receipt validation to succeed. I wrote "[Receipt Validation – Verifying a Receipt Signature in Swift](https://www.andrewcbancroft.com/2017/07/16/receipt-validation-verifying-a-receipt-signature-in-swift/)" to guide you through this process if you need help. 14 | 2. You need OpenSSL to be statically-linked to your project. I wrote "[OpenSSL for iOS & Swift the Easy Way](https://www.andrewcbancroft.com/2015/09/21/openssl-for-ios-swift-the-easy-way/)" to guide you through this process if you need help. 15 | 3. You need to include the following additional resources after OpenSSL is installed. Example implementations are provided in the [demo project](https://github.com/andrewcbancroft/SwiftyLocalReceiptValidator/tree/master/Demo/SwiftyLocalReceiptValidatorDemo). 16 | * [pkcs7_union_accessors.c](https://github.com/andrewcbancroft/SwiftyLocalReceiptValidator/blob/master/Demo/SwiftyLocalReceiptValidatorDemo/pkcs7_union_accessors.c) 17 | * [pkcs7_union_accessors.h](https://github.com/andrewcbancroft/SwiftyLocalReceiptValidator/blob/master/Demo/SwiftyLocalReceiptValidatorDemo/pkcs7_union_accessors.h) 18 | * [Bridging Header](https://github.com/andrewcbancroft/SwiftyLocalReceiptValidator/blob/master/Demo/SwiftyLocalReceiptValidatorDemo/SwiftyLocalReceiptValidatorDemo-Bridging-Header.h) 19 | 20 | # Disclaimer 21 | Preventing software piracy is hard. The code presented in this repository is not meant to protect you against unauthorized usage of your app or its features. This code is meant to be used for learning purposes only. If you use this code in your app, you do it at your own risk. 22 | 23 | You must take additional efforts to obfuscate the code presented here to thwart an attacker's attempt at circumventing the receipt validation logic contained within this repository. 24 | 25 | # Usage 26 | ## Output Types 27 | In order to make sense of the call site, I thought it might be helpful to include the *output* that you can expect from the `ReceiptValidator`: 28 | ```swift 29 | enum ReceiptValidationResult { 30 | case success(ParsedReceipt) 31 | case error(ReceiptValidationError) 32 | } 33 | 34 | enum ReceiptValidationError : Error { 35 | case couldNotFindReceipt 36 | case emptyReceiptContents 37 | case receiptNotSigned 38 | case appleRootCertificateNotFound 39 | case receiptSignatureInvalid 40 | case malformedReceipt 41 | case malformedInAppPurchaseReceipt 42 | case incorrectHash 43 | } 44 | 45 | struct ParsedReceipt { 46 | let bundleIdentifier: String? 47 | let bundleIdData: NSData? 48 | let appVersion: String? 49 | let opaqueValue: NSData? 50 | let sha1Hash: NSData? 51 | let inAppPurchaseReceipts: [ParsedInAppPurchaseReceipt]? 52 | let originalAppVersion: String? 53 | let receiptCreationDate: Date? 54 | let expirationDate: Date? 55 | } 56 | 57 | struct ParsedInAppPurchaseReceipt { 58 | let quantity: Int? 59 | let productIdentifier: String? 60 | let transactionIdentifier: String? 61 | let originalTransactionIdentifier: String? 62 | let purchaseDate: Date? 63 | let originalPurchaseDate: Date? 64 | let subscriptionExpirationDate: Date? 65 | let cancellationDate: Date? 66 | let webOrderLineItemId: Int? 67 | } 68 | ``` 69 | ## Call Site 70 | ```swift 71 | let receiptValidator = ReceiptValidator() 72 | let validationResult = receiptValidator.validateReceipt() 73 | 74 | switch validationResult { 75 | case .success(let receipt): 76 | // Work with parsed receipt data. Possibilities might be... 77 | // enable a feature of your app 78 | // remove ads 79 | // etc... 80 | case .error(let error): 81 | // Handle receipt validation failure. Possibilities might be... 82 | // use StoreKit to request a new receipt 83 | // enter a "grace period" 84 | // disable a feature of your app 85 | // etc... 86 | } 87 | ``` 88 | 89 | # Explanatory Guides 90 | Throughout the development of the code in this repository, I wrote up several guides at https://www.andrewcbancroft.com to explain what each step along the way in the receipt validation process is doing. If you'd like to understand more about what's going on under the hood, you can read up on any step below: 91 | 92 | * [Preparing to Test Receipt Validation for iOS](https://www.andrewcbancroft.com/2015/10/05/preparing-to-test-receipt-validation-for-ios/) 93 | * [OpenSSL for iOS & Swift the Easy Way](https://www.andrewcbancroft.com/2015/09/21/openssl-for-ios-swift-the-easy-way/) 94 | * [Loading a Receipt for Validation with Swift](https://www.andrewcbancroft.com/2015/10/13/loading-a-receipt-for-validation-with-swift/) 95 | * [Extracting a PKCS7 Container for Receipt Validation with Swift](https://www.andrewcbancroft.com/2016/06/09/extracting-a-pkcs7-container-for-receipt-validation-with-swift/) 96 | * [Receipt Validation – Verifying a Receipt Signature in Swift](https://www.andrewcbancroft.com/2017/07/16/receipt-validation-verifying-a-receipt-signature-in-swift/) 97 | * [Receipt Validation – Parse and Decode a Receipt with Swift](https://www.andrewcbancroft.com/2017/07/27/receipt-validation-parsing-a-receipt-with-swift/) 98 | * [Finalizing Receipt Validation in Swift – Computing a GUID Hash](https://www.andrewcbancroft.com/2017/07/31/finalizing-receipt-validation-in-swift-computing-a-guid-hash/) 99 | 100 | # Implementing In-app Purchases on iOS 101 | Learning about in-app purchases on iOS? 102 | 103 | I am the author of Implementing In-app Purchases on iOS at Pluralsight. 104 | 105 | In the course, you'll learn to offer digital products as in-app purchases from end to end: 106 | 107 | ❇️ Configure products in App Store Connect & Xcode 108 | 109 | ❇️ Build and test a fully-working Store view 110 | 111 | ❇️ Protect your revenue by validating App Store receipts (I teach server-side validation in the course) 112 | 113 | ❇️ Unlock content that users have legitimately purchased 114 | --------------------------------------------------------------------------------