• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright 2018 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #import <Foundation/Foundation.h>
12 
13 #import "RTCMacros.h"
14 
15 NS_ASSUME_NONNULL_BEGIN
16 
17 RTC_OBJC_EXPORT
18 @interface RTC_OBJC_TYPE (RTCCertificate) : NSObject <NSCopying>
19 
20 /** Private key in PEM. */
21 @property(nonatomic, readonly, copy) NSString *private_key;
22 
23 /** Public key in an x509 cert encoded in PEM. */
24 @property(nonatomic, readonly, copy) NSString *certificate;
25 
26 /**
27  * Initialize an RTCCertificate with PEM strings for private_key and certificate.
28  */
29 - (instancetype)initWithPrivateKey:(NSString *)private_key
30                        certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER;
31 
32 - (instancetype)init NS_UNAVAILABLE;
33 
34 /** Generate a new certificate for 're' use.
35  *
36  *  Optional dictionary of parameters. Defaults to KeyType ECDSA if none are
37  *  provided.
38  *  - name: "ECDSA" or "RSASSA-PKCS1-v1_5"
39  */
40 + (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params;
41 
42 @end
43 
44 NS_ASSUME_NONNULL_END
45