cari

Rumah  >  Soal Jawab  >  teks badan

Isu dengan menggunakan sijil yang ditandatangani sendiri untuk https

Saya mempunyai soalan berikut tentang menggunakan sijil yang ditandatangani sendiri untuk https:

1. Untuk sijil yang ditandatangani sendiri, mengikut maklumat di Internet, anda perlu mengimport sijil pada pelanggan dan kemudian mengesahkan sijil Jika anda tidak mengesahkan sijil, apakah risiko dan masalah secara langsung menggunakan kelayakan yang dihantar untuk komunikasi?

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    //1)获取trust object
    SecTrustRef trust = challenge.protectionSpace.serverTrust;
    NSURLCredential *cred = [NSURLCredential credentialForTrust:trust];
        [challenge.sender useCredential:cred forAuthenticationChallenge:challenge];
  }
  1. Saya sering melihat sekeping kod seperti ini di Internet. Pada pendapat anda, bagaimanakah kod ini disahkan?

 NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling;
    __block NSURLCredential *credential = nil;
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
        disposition = NSURLSessionAuthChallengeUseCredential;
        credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
    } else {
        disposition = NSURLSessionAuthChallengePerformDefaultHandling;
    }
    
    if (completionHandler) {
        completionHandler(disposition, credential);
    }
漂亮男人漂亮男人2805 hari yang lalu1036

membalas semua(1)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-02 09:40:04

    1. Permintaan langsung tanpa mengesahkan sijil adalah bermasalah
    2 Pihak lain terlebih dahulu menentukan sama ada pelayan sijil boleh dipercayai, dan kemudian mengendalikan sijil dengan sewajarnya. Lihat HTTP iOS untuk mendapatkan butiran.

    balas
    0
  • Batalbalas