• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package org.conscrypt;
18 
19 import java.io.InputStream;
20 import java.io.OutputStream;
21 import java.security.Key;
22 import java.security.KeyStoreSpi;
23 import java.security.cert.Certificate;
24 import java.util.Collections;
25 import java.util.Date;
26 import java.util.Enumeration;
27 
28 /**
29  * A KeyStoreSpi wrapper for the TrustedCertificateStore.
30  */
31 public final class TrustedCertificateKeyStoreSpi extends KeyStoreSpi {
32 
33     private final TrustedCertificateStore store = new TrustedCertificateStore();
34 
35     @Override
engineGetKey(String alias, char[] password)36     public Key engineGetKey(String alias, char[] password) {
37         if (alias == null) {
38             throw new NullPointerException("alias == null");
39         }
40         return null;
41     }
42 
43     @Override
engineGetCertificateChain(String alias)44     public Certificate[] engineGetCertificateChain(String alias) {
45         if (alias == null) {
46             throw new NullPointerException("alias == null");
47         }
48         return null;
49     }
50 
51     @Override
engineGetCertificate(String alias)52     public Certificate engineGetCertificate(String alias) {
53         return store.getCertificate(alias);
54     }
55 
56     @Override
engineGetCreationDate(String alias)57     public Date engineGetCreationDate(String alias) {
58         return store.getCreationDate(alias);
59     }
60 
61     @Override
engineSetKeyEntry( String alias, Key key, char[] password, Certificate[] chain)62     public void engineSetKeyEntry(
63             String alias, Key key, char[] password, Certificate[] chain) {
64         throw new UnsupportedOperationException();
65     }
66 
67     @Override
engineSetKeyEntry(String alias, byte[] key, Certificate[] chain)68     public void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) {
69         throw new UnsupportedOperationException();
70     }
71 
72     @Override
engineSetCertificateEntry(String alias, Certificate cert)73     public void engineSetCertificateEntry(String alias, Certificate cert) {
74         if (alias == null) {
75             throw new NullPointerException("alias == null");
76         }
77         throw new UnsupportedOperationException();
78     }
79 
80     @Override
engineDeleteEntry(String alias)81     public void engineDeleteEntry(String alias) {
82         throw new UnsupportedOperationException();
83     }
84 
85     @Override
engineAliases()86     public Enumeration<String> engineAliases() {
87         return Collections.enumeration(store.aliases());
88     }
89 
90     @Override
engineContainsAlias(String alias)91     public boolean engineContainsAlias(String alias) {
92         return store.containsAlias(alias);
93     }
94 
95     @Override
engineSize()96     public int engineSize() {
97         return store.aliases().size();
98     }
99 
100     @Override
engineIsKeyEntry(String alias)101     public boolean engineIsKeyEntry(String alias) {
102         if (alias == null) {
103             throw new NullPointerException("alias == null");
104         }
105         return false;
106     }
107 
108     @Override
engineIsCertificateEntry(String alias)109     public boolean engineIsCertificateEntry(String alias) {
110         return engineContainsAlias(alias);
111     }
112 
113     @Override
engineGetCertificateAlias(Certificate c)114     public String engineGetCertificateAlias(Certificate c) {
115         return store.getCertificateAlias(c);
116     }
117 
118     @Override
engineStore(OutputStream stream, char[] password)119     public void engineStore(OutputStream stream, char[] password) {
120         throw new UnsupportedOperationException();
121     }
122 
123     @Override
engineLoad(InputStream stream, char[] password)124     public void engineLoad(InputStream stream, char[] password) {
125         if (stream != null) {
126             throw new UnsupportedOperationException();
127         }
128     }
129 }
130