1 #region Copyright notice and license 2 3 // Copyright 2015 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 #endregion 18 19 using System; 20 using System.Collections.Generic; 21 22 using Grpc.Core.Internal; 23 using Grpc.Core.Utils; 24 25 namespace Grpc.Core 26 { 27 /// <summary> 28 /// Key certificate pair (in PEM encoding). 29 /// </summary> 30 public sealed class KeyCertificatePair 31 { 32 readonly string certificateChain; 33 readonly string privateKey; 34 35 /// <summary> 36 /// Creates a new certificate chain - private key pair. 37 /// </summary> 38 /// <param name="certificateChain">PEM encoded certificate chain.</param> 39 /// <param name="privateKey">PEM encoded private key.</param> KeyCertificatePair(string certificateChain, string privateKey)40 public KeyCertificatePair(string certificateChain, string privateKey) 41 { 42 this.certificateChain = GrpcPreconditions.CheckNotNull(certificateChain, "certificateChain"); 43 this.privateKey = GrpcPreconditions.CheckNotNull(privateKey, "privateKey"); 44 } 45 46 /// <summary> 47 /// PEM encoded certificate chain. 48 /// </summary> 49 public string CertificateChain 50 { 51 get 52 { 53 return certificateChain; 54 } 55 } 56 57 /// <summary> 58 /// PEM encoded private key. 59 /// </summary> 60 public string PrivateKey 61 { 62 get 63 { 64 return privateKey; 65 } 66 } 67 } 68 } 69