Home | History | Annotate | Download | only in Grpc.Core
      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>
     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