970bfb85e60c7490df961fe3841f40b1849b7c45
[aaf/authz.git] / auth / auth-certman / src / main / java / org / onap / aaf / auth / cm / data / CertResp.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.cm.data;
23
24 import java.io.IOException;
25 import java.security.GeneralSecurityException;
26 import java.security.KeyPair;
27 import java.security.cert.X509Certificate;
28
29 import org.onap.aaf.auth.cm.ca.CA;
30 import org.onap.aaf.auth.cm.cert.CSRMeta;
31 import org.onap.aaf.cadi.configure.CertException;
32 import org.onap.aaf.cadi.configure.Factory;
33 import org.onap.aaf.misc.env.Trans;
34
35 public class CertResp {
36         private CA ca;
37         private KeyPair keyPair;
38         private String challenge;
39         
40         private String privateKey, certString;
41         private String[] trustChain;
42         private String[] notes;
43         
44         public CertResp(Trans trans, CA ca, X509Certificate x509, CSRMeta csrMeta, String[] trustChain, String[] notes) throws IOException, GeneralSecurityException, CertException {
45                 keyPair = csrMeta.keypair(trans);
46                 privateKey = Factory.toString(trans, keyPair.getPrivate());
47                 certString = Factory.toString(trans,x509);
48                 challenge=csrMeta.challenge();
49                 this.ca = ca;
50                 this.trustChain = trustChain;
51                 this.notes = notes;
52         }
53
54         // Use for Read Responses, etc
55         public CertResp(String cert) {
56                 certString = cert;
57         }
58
59         
60         public String asCertString() {
61                 return certString;
62         }
63         
64         public String privateString() throws IOException {
65                 return privateKey;
66         }
67         
68         public String challenge() {
69                 return challenge==null?"":challenge;
70         }
71         
72         public String[] notes() {
73                 return notes;
74         }
75         
76         public String[] caIssuerDNs() {
77                 return ca.getCaIssuerDNs();
78         }
79         
80         public String env() {
81                 return ca.getEnv();
82         }
83         
84         public String[] trustChain() {
85                 return trustChain;
86         }
87         
88         public String[] trustCAs() {
89                 return ca.getTrustedCAs();
90         }
91 }