01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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:
18: /**
19: * @author Alexander Y. Kleymenov
20: * @version $Revision$
21: */package org.apache.harmony.security.tests.provider.cert;
22:
23: import java.math.BigInteger;
24: import java.util.Date;
25: import javax.security.auth.x500.X500Principal;
26:
27: import org.apache.harmony.security.provider.cert.X509CRLEntryImpl;
28: import org.apache.harmony.security.x509.Extension;
29: import org.apache.harmony.security.x509.Extensions;
30: import org.apache.harmony.security.x509.ReasonCode;
31: import org.apache.harmony.security.x509.TBSCertList;
32:
33: import junit.framework.Test;
34: import junit.framework.TestCase;
35: import junit.framework.TestSuite;
36:
37: /**
38: * X509CRLEntryImplTest test
39: */
40: public class X509CRLEntryImplTest extends TestCase {
41:
42: /**
43: * getExtensionValue(String oid) method testing.
44: */
45: public void testGetExtensionValue() throws Exception {
46: // revoked certificate issuer
47: X500Principal issuer = new X500Principal("O=Certificate Issuer");
48: // revoked certificate serial number
49: BigInteger serialNumber = BigInteger.valueOf(555);
50: // crl entry extensions
51: Extensions crlEntryExtensions = new Extensions();
52: // add reason code extension which OID is 2.5.29.21
53: // see RFC 3280 http://www.ietf.org/rfc/rfc3280.txt
54: crlEntryExtensions.addExtension(new Extension("2.5.29.21",
55: Extension.NON_CRITICAL, new ReasonCode(
56: ReasonCode.KEY_COMPROMISE)));
57: // crl entry
58: X509CRLEntryImpl crlEntry = new X509CRLEntryImpl(
59: new TBSCertList.RevokedCertificate(serialNumber,
60: new Date(), crlEntryExtensions), issuer);
61: assertNotNull(crlEntry.getExtensionValue("2.5.29.21"));
62: assertNull("Null value should be returned in the case of "
63: + "nonexisting extension",
64: // demand absent Invalidity Date extension
65: // which OID is 2.5.29.24 (RFC 3280)
66: crlEntry.getExtensionValue("2.5.29.24"));
67: }
68:
69: public static Test suite() {
70: return new TestSuite(X509CRLEntryImplTest.class);
71: }
72:
73: public static void main(String[] args) {
74: junit.textui.TestRunner.run(suite());
75: }
76: }
|