001 /**
002 * Copyright 2005-2012 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.rice.ksb.security.credentials;
017
018 import org.junit.Before;
019 import org.junit.Test;
020
021 import java.math.BigInteger;
022 import java.security.InvalidKeyException;
023 import java.security.NoSuchAlgorithmException;
024 import java.security.NoSuchProviderException;
025 import java.security.Principal;
026 import java.security.PublicKey;
027 import java.security.SignatureException;
028 import java.security.cert.CertificateEncodingException;
029 import java.security.cert.CertificateException;
030 import java.security.cert.CertificateExpiredException;
031 import java.security.cert.CertificateNotYetValidException;
032 import java.security.cert.X509Certificate;
033 import java.util.Date;
034 import java.util.Set;
035
036 import static org.junit.Assert.assertEquals;
037 import static org.junit.Assert.assertNotNull;
038 /**
039 *
040 * @author Kuali Rice Team (rice.collab@kuali.org)
041 * @since 0.9
042 *
043 */
044 public class X509CredentialsSourceTest {
045
046 private X509CredentialsSource credentialsSource;
047
048 private X509Certificate cert = new KualiX509Certificate();
049
050 @Before
051 public void setUp() throws Exception {
052 this.credentialsSource = new X509CredentialsSource(cert);
053 }
054
055 @Test
056 public void testX509Certificate() {
057 final X509Credentials context = (X509Credentials) this.credentialsSource.getCredentials("test");
058 assertNotNull(context);
059 final X509Certificate cert = context.getX509Certificate();
060
061 assertEquals(this.cert, cert);
062 }
063
064 public static class KualiX509Certificate extends X509Certificate {
065
066 protected KualiX509Certificate() {
067 // nothing to do
068 }
069
070 public void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException {
071 // nothing to do
072 }
073
074 public void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException {
075 // nothing to do
076 }
077
078 public int getBasicConstraints() {
079 return 0;
080 }
081
082 public Principal getIssuerDN() {
083 return null;
084 }
085
086 public boolean[] getIssuerUniqueID() {
087 return null;
088 }
089
090 public boolean[] getKeyUsage() {
091 return null;
092 }
093
094 public Date getNotAfter() {
095 return null;
096 }
097
098 public Date getNotBefore() {
099 return null;
100 }
101
102 public BigInteger getSerialNumber() {
103 return null;
104 }
105
106 public String getSigAlgName() {
107 return null;
108 }
109
110 public String getSigAlgOID() {
111 return null;
112 }
113
114 public byte[] getSigAlgParams() {
115 return null;
116 }
117
118 public byte[] getSignature() {
119 return null;
120 }
121
122 public Principal getSubjectDN() {
123 return null;
124 }
125
126 public boolean[] getSubjectUniqueID() {
127 return null;
128 }
129
130 public byte[] getTBSCertificate() throws CertificateEncodingException {
131 return null;
132 }
133
134 public int getVersion() {
135 return 0;
136 }
137
138 public Set<String> getCriticalExtensionOIDs() {
139 return null;
140 }
141
142 public byte[] getExtensionValue(String arg0) {
143 return null;
144 }
145
146 public Set<String> getNonCriticalExtensionOIDs() {
147 return null;
148 }
149
150 public boolean hasUnsupportedCriticalExtension() {
151 return false;
152 }
153
154 public byte[] getEncoded() throws CertificateEncodingException {
155 return null;
156 }
157
158 public PublicKey getPublicKey() {
159 return null;
160 }
161
162 public String toString() {
163 return null;
164 }
165
166 public void verify(PublicKey arg0, String arg1) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException {
167 // nothing to do
168 }
169
170 public void verify(PublicKey arg0) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException {
171 // nothing to do
172 }
173 }
174 }