AFNetworking 2.x 的SSL身份认证
1.如果想跳过ssl验证的话 AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificates:YES]; 2.加入ssl证书 一般来讲如果app用了web service ,
1.如果想跳过ssl验证的话
AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificates:YES];
2.加入ssl证书
一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探
其实这么做的话还是不够的.我们还需要防止中间人攻击(不明白的自己去百度)。攻击者通过伪造的ssl证书使app连接到了伪装的假冒的服务器上,这是个严重的问题!
那么如何防止中间人攻击呢?
首先web服务器必须提供一个ssl证书,需要一个 .crt 文件,然后设置app只能连接有效ssl证书的服务器。
在开始写代码前,先要把 .crt 文件转成 .cer 文件,然后在加到xcode 里面
openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der로그인 후 복사
如果你用的是NSURLConnection,你需要这样检查证书,必须添加一个 NSURLConnectionDelegate
- (<span>void</span>)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
用 AFNetworking 2.x的话就简单多了,只需要添加一个AFSecurityPolicy
和 setAFHTTPRequestOperationManager
要经常用的话,推荐写一个方法,然后以后用就可以复制黏贴了
- (AFSecurityPolicy*<span>)customSecurityPolicy { </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> NSString </span>*cerPath = [[NSBundle mainBundle] pathForResource:<span>@"你的证书</span><span>"</span> ofType:<span>@"</span><span>cer</span><span>"</span><span>]; NSData </span>*certData =<span> [NSData dataWithContentsOfFile:cerPath]; AFSecurityPolicy </span>*securityPolicy =<span> [[AFSecurityPolicy alloc] init]; [securityPolicy setAllowInvalidCertificates:NO]; [securityPolicy setPinnedCertificates:@[certData]]; [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span> <span>return</span><span> securityPolicy; }</span>
然后在管理器里这么设置
AFHTTPRequestOperationManager *manager =<span> [AFHTTPRequestOperationManager manager]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> [manager setSecurityPolicy:[self customSecurityPolicy]]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> [manager GET:@"网站的url" parameters:</span><span>params</span> success:^(AFHTTPRequestOperation *operation, NSDictionary*<span> responseObject) { </span><span>//</span><span>这里是你自己的代码了</span> } failure:^(AFHTTPRequestOperation *operation, NSError *<span>error) { </span><span>//</span><span>注释同上</span> }];

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Barrier를 사용하여 Mac/PC 간에 키보드 및 마우스를 공유하는 방법 마우스 및 키보드를 공유하려는 컴퓨터가 모두 동일한 네트워크에 있는지 확인해야 하며, 작업 중에 다른 Mac 간에 전환해야 합니다. 초기 설정. 여기에서 Barrier의 최신 버전을 받으세요(Mac용 DMG, Windows용 exe) - 키보드와 마우스를 사용하려는 각 컴퓨터에 다운로드합니다. DMG에서 Barrier를 설치합니다(또는 Windows용 exe 사용). 사용하려는 각 Mac의 응용 프로그램 폴더를 클릭하고 Barr를 마우스 오른쪽 버튼으로 클릭하세요.

Java8-291 이후에는 TLS1.1이 비활성화되어 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. java.security 파일을 수정하는 방법은 무엇입니까? 1. jre의 java.security 파일을 찾으십시오. jre인 경우 lib/security의 {JAVA_HOME}/jre/로 이동합니다. 예를 들어 ????C:\ProgramFiles\Java\jre1.8.0_301\lib\security입니다. Eclipse 그린 설치가 필요 없는 휴대용 버전인 경우. , 설치 폴더(예:????xxx\plugins\org)에서 java.security를 검색하세요.

웹 서버 로드 밸런싱을 유지하는 것은 가동 중지 시간을 방지하는 주요 방법 중 하나입니다. 로드 밸런서를 사용하는 것은 안정적인 접근 방식이며 HAProxy는 높은 평가를 받고 있습니다. HAProxy를 사용하면 로드 밸런싱 방식을 정확하게 구성하고 SSL Passthrough를 지원하여 클라이언트와 서버 간의 통신 보안을 보장할 수 있습니다. 먼저 HAProxy에서 SSL 패스스루 구현의 중요성을 살펴보고, 이 기능을 구현하는 데 필요한 단계와 더 나은 이해를 위한 예에 대해 자세히 설명합니다. SSL 패스스루란 무엇입니까? 왜 중요 함? 로드 밸런서로서 HAProxy는 구성된 서버 전체에서 웹 서버로 흐르는 로드를 수용하고 분산합니다. 부하 분산은 클라이언트 장치를 대상으로 하며

MySQL: SSL 연결 소개 및 설정 단계 요약: MySQL은 클라이언트와 서버 간에 전송되는 데이터를 암호화하기 위해 SSL(SecureSocketsLayer) 연결을 제공합니다. 이 기사에서는 SSL 연결의 개념과 역할을 소개하고 MySQL에서 SSL 연결을 설정하는 단계와 관련 코드 예제를 제공합니다. 소개: 네트워크와 데이터 전송이 계속 확장됨에 따라 데이터 보안이 점점 더 중요해지고 있습니다. SSL 연결을 사용하여 추가할 수 있습니다.

Nginx는 고성능 웹 서버 소프트웨어이자 강력한 역방향 프록시 서버 및 로드 밸런서입니다. 인터넷의 급속한 발전과 함께 점점 더 많은 웹사이트가 민감한 사용자 데이터를 보호하기 위해 SSL 프로토콜을 사용하기 시작하고 있으며 Nginx도 강력한 SSL 지원을 제공하여 웹 서버의 보안 성능을 더욱 향상시킵니다. 이 글에서는 SSL 프로토콜을 지원하고 웹 서버의 보안 성능을 보호하기 위해 Nginx를 구성하는 방법을 소개합니다. SSL 프로토콜이란 무엇입니까? SSL(보안소켓

SharePoint에 SSL 인증서를 설치하는 것은 웹사이트를 보호하고 암호화된 연결을 제공하는 데 있어 중요한 단계입니다. 올바른 설치 단계를 따르면 웹사이트 데이터의 보안을 보장하고 검색 엔진 순위를 높이며 방문자에게 더 나은 사용자 경험을 제공할 수 있습니다. SSL 인증서 받기 SSL 인증서를 구매하려면 신뢰할 수 있는 인증 기관(CA)에 문의하세요. 필수 인증 및 도메인 소유권 확인 정보를 제공하세요. 인증 과정을 완료하시면 SSL 인증서 파일을 받으실 수 있습니다. 인증서 파일 준비 텍스트 편집기를 사용하여 SSL 인증서 파일을 엽니다. 인증서 내용을 새 텍스트 파일에 복사합니다. 파일을 yourdomain.cer로 저장하고 "yourdomain”"을 변경했는지 확인하세요.

최근 많은 Windows 사용자가 Chrome 브라우저를 검색하는 동안 보안되지 않은 웹 페이지를 발견하고 오류 메시지 YourconnectionisnotprivatewithaerrorcodeNET::ERR_CERT_WEAK_SIGNATURE_ALGORITHMonWindows11 시스템에서 오류 메시지가 표시되는 문제에 대해 불평하기 시작했습니다. 이제 Windows 사용자는 이 문제의 원인이 무엇인지, 웹을 쉽게 탐색하기 위해 문제를 해결하는 방법을 확신하지 못합니다. 이 오류 메시지의 원인 중 일부는 아래에 설명되어 있습니다. SSL 인증서 캐시 문제로 인해 검색 데이터가 손상됨

Nginx 프록시 서버를 사용하여 웹 서비스에 대한 동적 SSL 인증서 생성을 구현하는 방법은 무엇입니까? Nginx는 프록시 서버, 리버스 프록시, 로드 밸런싱 등 다양한 용도로 사용할 수 있는 고성능 오픈소스 웹 서버입니다. 유연성을 통해 강력한 기능을 활용하여 동적 SSL 인증서 생성을 달성하고 보다 안전하고 유연한 웹 서비스를 제공할 수 있습니다. 이 기사에서는 Nginx 프록시 서버를 사용하여 동적 SSL 인증서를 생성하는 방법을 자세히 소개합니다. 먼저 자체 서명된 루트 인증서와 개인 키를 생성해야 합니다.
