All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.asn1.test.PKIPublicationInfoTest Maven / Gradle / Ivy

Go to download

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.4.

There is a newer version: 1.79
Show newest version
package org.bouncycastle.asn1.test;

import java.io.IOException;

import org.bouncycastle.asn1.crmf.PKIPublicationInfo;
import org.bouncycastle.asn1.crmf.SinglePubInfo;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.GeneralName;
import org.bouncycastle.util.test.SimpleTest;


public class PKIPublicationInfoTest
    extends SimpleTest
{
    public static void main(String[] args)
    {
        runTest(new PKIPublicationInfoTest());
    }

    public String getName()
    {
        return "PKIPublicationInfoTest";
    }

    public void performTest()
        throws Exception
    {
        PKIPublicationInfo pkiPubInfo = new PKIPublicationInfo(PKIPublicationInfo.dontPublish);

        isEquals(PKIPublicationInfo.dontPublish, pkiPubInfo.getAction());

        encEqualTest(pkiPubInfo);

        pkiPubInfo = new PKIPublicationInfo(PKIPublicationInfo.dontPublish.getValue());

        isEquals(PKIPublicationInfo.dontPublish, pkiPubInfo.getAction());

        encEqualTest(pkiPubInfo);

        SinglePubInfo singlePubInfo1 = new SinglePubInfo(SinglePubInfo.x500, new GeneralName(new X500Name("CN=TEST")));
        pkiPubInfo = new PKIPublicationInfo(singlePubInfo1);

        isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
        isEquals(1, pkiPubInfo.getPubInfos().length);
        isEquals(singlePubInfo1, pkiPubInfo.getPubInfos()[0]);
        
        encEqualTest(pkiPubInfo);

        SinglePubInfo singlePubInfo2 = new SinglePubInfo(SinglePubInfo.x500, new GeneralName(new X500Name("CN=BLOOT")));

        pkiPubInfo = new PKIPublicationInfo(new SinglePubInfo[] { singlePubInfo1, singlePubInfo2 });

        isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
        isEquals(2, pkiPubInfo.getPubInfos().length);
        isEquals(singlePubInfo1, pkiPubInfo.getPubInfos()[0]);
        isEquals(singlePubInfo2, pkiPubInfo.getPubInfos()[1]);
        
        encEqualTest(pkiPubInfo);

        pkiPubInfo = new PKIPublicationInfo((SinglePubInfo)null);

        isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
        isTrue(null == pkiPubInfo.getPubInfos());

        encEqualTest(pkiPubInfo);

        pkiPubInfo = new PKIPublicationInfo((SinglePubInfo[])null);

        isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
        isTrue(null == pkiPubInfo.getPubInfos());

        encEqualTest(pkiPubInfo);
    }

    private void encEqualTest(PKIPublicationInfo pubInfo)
        throws IOException
    {
        byte[] b = pubInfo.getEncoded();

        PKIPublicationInfo pubInfoResult = PKIPublicationInfo.getInstance(b);

        isEquals(pubInfo, pubInfoResult);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy