• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #import "GRPCCall.h"
20 
21 /** Helpers for setting TLS Trusted Roots, Client Certificates, and Private Key */
22 @interface GRPCCall (ChannelCredentials)
23 
24 /**
25  * Use the provided @c pemRootCert as the set of trusted root Certificate Authorities for @c host.
26  */
27 + (BOOL)setTLSPEMRootCerts:(nullable NSString *)pemRootCert
28                    forHost:(nonnull NSString *)host
29                      error:(NSError *_Nullable *_Nullable)errorPtr;
30 /**
31  * Configures @c host with TLS/SSL Client Credentials and optionally trusted root Certificate
32  * Authorities. If @c pemRootCerts is nil, the default CA Certificates bundled with gRPC will be
33  * used.
34  */
35 + (BOOL)setTLSPEMRootCerts:(nullable NSString *)pemRootCerts
36             withPrivateKey:(nullable NSString *)pemPrivateKey
37              withCertChain:(nullable NSString *)pemCertChain
38                    forHost:(nonnull NSString *)host
39                      error:(NSError *_Nullable *_Nullable)errorPtr;
40 
41 @end
42