Hallo ich arbeite mit dem XMPP Framework alles funktioniert gut. Jetzt aus Sicherheitsgründen muss ich mit ssl-Zertifikat arbeiten.Aber ich weiß nicht, wie in meiner Anwendung zu implementieren, auch ich weiß nicht, grundlegende Sache für SSL-Zertifikat so kann jeder Körper bitte helfen Sie mir, wie Sie SSL erstellen. und wie man in xmpp in ios implementiert und ich arbeite mit openfire server.Wie SSL-Zertifikat in Xmpp IOS verwenden?
0
A
Antwort
0
Hey, ich erfolgreich umgesetzt SSL in XMPP, Führen Sie die folgenden Schritte aus:
Schritt- 1:
-(BOOL) connect {
[self setupStream];
[xmppStream setHostName:xxx];
[xmppStream setHostPort:zzz];
[xmppStream setMyJID:yyy];
NSError *error = nil;
if (![xmppStream oldSchoolSecureConnectWithTimeout:XMPPStreamTimeoutNone error:&error]) {
nslog(@"Error %@",error)
return NO;
}
return YES;
}
Schritt- 2:
- (void)setupStream {
customCertEvaluation = NO;
allowSelfSignedCertificates = NO;
allowSSLHostNameMismatch = NO;
xmppStream = [[XMPPStream alloc] init];
[xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
xmppStream.startTLSPolicy = XMPPStreamStartTLSPolicyPreferred;
// or
// xmppStream.startTLSPolicy = XMPPStreamStartTLSPolicyRequired;
}
Schritt- 3: Setzen Sie Flags gemäß Ihren Serveranforderungen
- (void)xmppStream:(XMPPStream *)sender willSecureWithSettings:(NSMutableDictionary *)settings
{
NSString *expectedCertName = [xmppStream.myJID domain];
if (customCertEvaluation){
[settings setObject:@(YES) forKey:GCDAsyncSocketManuallyEvaluateTrust];
}
// if (allowSelfSignedCertificates){
// [settings setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
// }
if (allowSSLHostNameMismatch){
[settings setObject:[NSNull null] forKey:(NSString *)kCFStreamSSLPeerName];
}
else{
if (expectedCertName)
[settings setObject:expectedCertName forKey:(NSString *)kCFStreamSSLPeerName];
}
}
beziehen sich auf diesen Link https://developers.google.com/cloud-messaging/ios/certs#generate_a_certificate_signing_request_file – iOS
@darjiJigar Danke für die Replay Aber das ist für Push-Benachrichtigungen oder? Dass man auch für xmpp Framework arbeiten leid wenn meine Frage falsch ist – Bittoo