blob: 2ebe2fb89c7593e1b6e40067a6bd07a3e9586d5c [file] [log] [blame]
Jan Tattermusch88a9b322015-07-23 21:43:44 -07001#region Copyright notice and license
2
Jan Tattermusch7897ae92017-06-07 22:57:36 +02003// Copyright 2015 gRPC authors.
Jan Tattermusch88a9b322015-07-23 21:43:44 -07004//
Jan Tattermusch7897ae92017-06-07 22:57:36 +02005// 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
Jan Tattermusch88a9b322015-07-23 21:43:44 -07008//
Jan Tattermusch7897ae92017-06-07 22:57:36 +02009// http://www.apache.org/licenses/LICENSE-2.0
Jan Tattermusch88a9b322015-07-23 21:43:44 -070010//
Jan Tattermusch7897ae92017-06-07 22:57:36 +020011// 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.
Jan Tattermusch88a9b322015-07-23 21:43:44 -070016
17#endregion
18
19using System;
20using System.Collections.Generic;
Jan Tattermusch88a9b322015-07-23 21:43:44 -070021
22using Grpc.Core.Internal;
23using Grpc.Core.Utils;
24
25namespace 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 {
Jan Tattermusch7a3ee6a2016-02-18 10:36:02 -080042 this.certificateChain = GrpcPreconditions.CheckNotNull(certificateChain, "certificateChain");
43 this.privateKey = GrpcPreconditions.CheckNotNull(privateKey, "privateKey");
Jan Tattermusch88a9b322015-07-23 21:43:44 -070044 }
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}