SignerInfoTest.java revision 561ee011997c6c2f1befbfaa9d5f0a99771c1d63
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied.  See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20package org.apache.harmony.security.tests.pkcs7;
21
22import java.math.BigInteger;
23
24import javax.security.auth.x500.X500Principal;
25
26import junit.framework.TestCase;
27
28import org.apache.harmony.security.pkcs7.SignerInfo;
29import org.apache.harmony.security.x501.Name;
30import org.apache.harmony.security.x509.AlgorithmIdentifier;
31
32public class SignerInfoTest extends TestCase {
33
34    public void testEncode() throws Exception {
35
36        Object[] issuerAndSerialNumber = new Object[] { new Name("CN=test"),
37                BigInteger.TEN.toByteArray() };
38
39        SignerInfo signerInfo = new SignerInfo(1, issuerAndSerialNumber,
40                new AlgorithmIdentifier("1.3.14.3.2.26"),// SHA1 OID
41                null, new AlgorithmIdentifier("1.2.840.10040.4.1"),// DSA OID
42                new byte[] { 0x01 },// signature
43                null);
44
45        byte[] encoding = SignerInfo.ASN1.encode(signerInfo);
46
47        signerInfo = (SignerInfo) SignerInfo.ASN1.decode(encoding);
48
49        assertEquals(new X500Principal("CN=test"), signerInfo.getIssuer());
50        assertEquals(new BigInteger("10"), signerInfo.getSerialNumber());
51    }
52}
53