일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 | 29 | 30 | 31 |
- 맥북
- naver
- 안드로이드
- Cordova
- 코딩테스트
- objective-c
- goormtest
- code
- 구름알고리즘
- Object-c
- error
- 헬스
- 알고리즘
- 아이폰 해상도
- 구름TEST
- 코딩
- algorism
- java
- 아이폰 비율
- ios
- 네이버구름
- codemonkey
- android
- 맥용
- iPhone
- 아이폰
- 네이버
- codility
- Swift
- 네이버알고리즘
- Today
- Total
그래오늘은이거야
swift alamofire 서버에 대한 SSL 인증서가 유효하지 않습니다. 신뢰 인증서로 강제 변경 인증서 신뢰로 바꿔놓기 본문
swift alamofire 서버에 대한 SSL 인증서가 유효하지 않습니다. 신뢰 인증서로 강제 변경 인증서 신뢰로 바꿔놓기
jinhongstar 2023. 9. 14. 14:44
- swift alamofire 서버에 대한 인증서가 유효하지 않습니다. 사용자의 비밀 정보를 위험에 노출시킬 수 있는
- swift alamofire "xxxxxx.xxxx.co.kr" 주소 url을 SSL TRUST 인증서 허용해주기
- swift alamofire 이 서버에 대한 인증서가 유효하지 않습니다. 사용자의 비밀 정보를 위험에 노출시킬 수 있는 ‘sm.jbbank.co.kr’인 것처럼 보이는 서버에 연결될 수 있습니다." UserInfo={NSLocalizedRecoverySuggestion=서버에 연결하겠습니까? 오류 해결
AF.request
보안에 취약하고 위험할 수 있습니다. 저는 인증서를 강제로 스킵 요청을 받고
모의 해킹을 하기위해 강제로 모든 사이트를 SSL인증서를 안전한 TRUST 모드로 변경하였습니다.
Proxy Trust Certification
모든 사이트에서 들어오는 SSL 인증서를 강제로 반드시 신뢰 시키는 방법.
//trust 인증서 SKIP 모의해킹 관련 인증서를 스킵한다.
//========================================================================================================
guard let evaluator = try stateProvider?.serverTrustManager?.serverTrustEvaluator(forHost: host) else {
return (.performDefaultHandling, nil, nil)
}
try evaluator.evaluate(trust, forHost: host)
//========================================================================================================
Alamofire 5 xx 버전은 아래와 같이 작업을 하면됩니다.
func attemptServerTrustAuthentication(with challenge: URLAuthenticationChallenge) -> ChallengeEvaluation {
#if !(os(Linux) || os(Windows))
/// Evaluates the server trust `URLAuthenticationChallenge` received.
///
/// - Parameter challenge: The `URLAuthenticationChallenge`.
///
/// - Returns: The `ChallengeEvaluation`.
func attemptServerTrustAuthentication(with challenge: URLAuthenticationChallenge) -> ChallengeEvaluation {
let host = challenge.protectionSpace.host
guard challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust,
let trust = challenge.protectionSpace.serverTrust
else {
return (.performDefaultHandling, nil, nil)
}
do {
// guard let evaluator = try stateProvider?.serverTrustManager?.serverTrustEvaluator(forHost: host) else {
// return (.performDefaultHandling, nil, nil)
// }
// try evaluator.evaluate(trust, forHost: host)
return (.useCredential, URLCredential(trust: trust), nil)
} catch {
return (.cancelAuthenticationChallenge, nil, error.asAFError(or: .serverTrustEvaluationFailed(reason: .customEvaluationFailed(error: error))))
}
}
#endif