Giter VIP home page Giter VIP logo

sber3dswithcustomcert's People

Contributors

akaduality avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

sber3dswithcustomcert's Issues

Открытие ссылки на оплату

Здравствуйте.

Столкнулся с такой проблемой после реализации данного решения в проекте -
на физическом устройстве не отрывается ссылка на оплату, которая приходит с платежного шлюза в виде https://3dsec.sberbank.ru/payment/merchants/sbersafe_sberid/payment_ru.html?mdOrder=....

Причем, если подставить https://3dsecmt.sberbank.ru/payment/se/keys.do, то все работает.

Сертификаты "прожёвывает". Пробовал и готовые и сам генерировал.
А самое интересное в том, что при подстановке ссылки от шлюза в ваше приложение все работает! С примером от Сбера такая же ситуация.
Настройки NSAppTransportSecurity какие только не пробовал. И NSAllowsArbitraryLoads и кастомный на домен Сбера:

<key>NSExceptionDomains</key>
		<dict>
			<key>sberbank.ru</key>
			<dict>
				<key>NSIncludesSubdomains</key>
				<true/>
				<key>NSExceptionAllowsInsecureHTTPLoads</key>
				<true/>
				<key>NSExceptionRequiresForwardSecrecy</key>
				<false/>
				<key>NSExceptionMinimumTLSVersion</key>
				<string>TLSv1.2</string>
				<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
				<true/>
				<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
				<true/>
				<key>NSThirdPartyExceptionMinimumTLSVersion</key>
				<string>TLSv1.2</string>
				<key>NSRequiresCertificateTransparency</key>
				<true/>
			</dict>
		</dict>

Разницы нет.
Грешу на то, что в проекте какие-то настройки перебивают NSAllowsArbitraryLoads. Больше мыслей нет.

Ошибку выдает следующую.

Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." 
UserInfo={NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x283da99e0>, networkTaskDescription=LocalDataTask <606449F7-14C4-40D1-B148-A62A4B1A8413>.<2>, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey=(
    "<cert(0x11c508800) s: 3dsec.sberbank.ru i: Russian Trusted Sub CA>",
    "<cert(0x11c514960) s: Russian Trusted Sub CA i: Russian Trusted Root CA>",
    "<cert(0x11c521160) s: Russian Trusted Root CA i: Russian Trusted Root CA>"
), NSErrorFailingURLStringKey=https://3dsec.sberbank.ru/payment/merchants/sbersafe_sberid/payment_ru.html?mdOrder=6f552a21-abf4-78db-a31d-4c8f28084cc4, NSUnderlyingError=0x283317840 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9802, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802}}, NSErrorClientCertificateStateKey=0, NSErrorFailingURLKey=https://3dsec.sberbank.ru/payment/merchants/sbersafe_sberid/payment_ru.html?mdOrder=6f552a21-abf4-78db-a31d-4c8f28084cc4, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <606449F7-14C4-40D1-B148-A62A4B1A8413>.<2>, NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x280dd8280>, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made.}

Может быть что-то посоветуете, куда копать?

Открытие sberbank.ru после редиректа

Спасибо за проект и статью на хабре, очень помогла.

Но сталкнулся с интересной проблемой. Если открывать https://sberbank.ru, то с него редиректит на https://www.sberbank.ru и периодически вылазит вот такая ошибка как на скриншоте.

Насколько могу понимать, это ошибка провайдера. Т.е. сертификат не подгрузился, хотя все нужные ветки в коде сработали.

Если открывать https://www.sberbank.ru напрямую, или https://www.sberbank.ru/ru/certificates, https://3dsecmt.sberbank.ru/payment/se/keys.do – то сразу все ок.

На вашем тестовом проекте повторить такое не смог. Единственное отличие – вебвью в коде создается. После перезапуска все работает. Еще смог повторить и в сафари (сертификат с госуслуг в айфон установил):

Потратил уже кучу времени, может вы с таким сталкивались? :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.