org.ejbca.core.protocol.unid.RequestMessageSubjectDnAdapter.java Source code

Java tutorial

Introduction

Here is the source code for org.ejbca.core.protocol.unid.RequestMessageSubjectDnAdapter.java

Source

/*************************************************************************
 *                                                                       *
 *  EJBCA Community: The OpenSource Certificate Authority                *
 *                                                                       *
 *  This software is free software; you can redistribute it and/or       *
 *  modify it under the terms of the GNU Lesser General Public           *
 *  License as published by the Free Software Foundation; either         *
 *  version 2.1 of the License, or any later version.                    *
 *                                                                       *
 *  See terms of license at gnu.org.                                     *
 *                                                                       *
 *************************************************************************/

package org.ejbca.core.protocol.unid;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.math.BigInteger;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.util.Date;

import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.Extensions;
import org.bouncycastle.jce.X509Principal;
import org.cesecore.certificates.certificate.request.RequestMessage;
import org.cesecore.util.CertTools;
import org.ejbca.core.protocol.cmp.ICrmfRequestMessage;

/**
 * Changes the DN in an IRequestMessage
 * @author primelars
 * @version $Id: RequestMessageSubjectDnAdapter.java 19968 2014-10-09 13:13:58Z mikekushner $
 *
 */
class RequestMessageSubjectDnAdapter implements ICrmfRequestMessage {

    private static final long serialVersionUID = -4884813822503768798L;

    final private ICrmfRequestMessage original;
    transient private X509Principal dn;

    private void writeObject(ObjectOutputStream stream) throws IOException {
        stream.defaultWriteObject();
        stream.writeObject(this.dn.getEncoded());
    }

    private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {
        stream.defaultReadObject();
        final byte b[] = (byte[]) stream.readObject();
        this.dn = new X509Principal(b);
    }

    RequestMessageSubjectDnAdapter(RequestMessage req, X500Name _dn) {
        this.original = (ICrmfRequestMessage) req;
        this.dn = new X509Principal(_dn);
    }

    @Override
    public String getUsername() {
        return this.original.getUsername();
    }

    @Override
    public String getPassword() {
        return this.original.getPassword();
    }

    @Override
    public String getIssuerDN() {
        return this.original.getIssuerDN();
    }

    @Override
    public BigInteger getSerialNo() {
        return this.original.getSerialNo();
    }

    @Override
    public String getRequestDN() {
        final X500Name name = getRequestX500Name();
        if (name == null) {
            return null;
        }
        return CertTools.stringToBCDNString(name.toString());
    }

    @Override
    public X500Name getRequestX500Name() {
        return X500Name.getInstance(this.dn.getEncoded());
    }

    @Override
    public String getRequestAltNames() {
        return this.original.getRequestAltNames();
    }

    @Override
    public Date getRequestValidityNotBefore() {
        return this.original.getRequestValidityNotBefore();
    }

    @Override
    public Date getRequestValidityNotAfter() {
        return this.original.getRequestValidityNotAfter();
    }

    @Override
    public Extensions getRequestExtensions() {
        return this.original.getRequestExtensions();
    }

    @Override
    public String getCRLIssuerDN() {
        return this.original.getCRLIssuerDN();
    }

    @Override
    public BigInteger getCRLSerialNo() {
        return this.original.getCRLSerialNo();
    }

    @Override
    public PublicKey getRequestPublicKey()
            throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException {
        return this.original.getRequestPublicKey();
    }

    @Override
    public boolean verify() throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException {
        return this.original.verify();
    }

    @Override
    public boolean requireKeyInfo() {
        return this.original.requireKeyInfo();
    }

    @Override
    public void setKeyInfo(Certificate cert, PrivateKey key, String provider) {
        this.original.setKeyInfo(cert, key, provider);
    }

    @Override
    public int getErrorNo() {
        return this.original.getErrorNo();
    }

    @Override
    public String getErrorText() {
        return this.original.getErrorText();
    }

    @Override
    public String getSenderNonce() {
        return this.original.getSenderNonce();
    }

    @Override
    public String getTransactionId() {
        return this.original.getTransactionId();
    }

    @Override
    public byte[] getRequestKeyInfo() {
        return this.original.getRequestKeyInfo();
    }

    @Override
    public String getPreferredDigestAlg() {
        return this.original.getPreferredDigestAlg();
    }

    @Override
    public boolean includeCACert() {
        return this.original.includeCACert();
    }

    @Override
    public int getRequestType() {
        return this.original.getRequestType();
    }

    @Override
    public int getRequestId() {
        return this.original.getRequestId();
    }

    @Override
    public void setResponseKeyInfo(PrivateKey key, String provider) {
        this.original.setResponseKeyInfo(key, provider);
    }

    @Override
    public int getPbeIterationCount() {
        return this.original.getPbeIterationCount();
    }

    @Override
    public String getPbeDigestAlg() {
        return this.original.getPbeDigestAlg();
    }

    @Override
    public String getPbeMacAlg() {
        return this.original.getPbeMacAlg();
    }

    @Override
    public String getPbeKeyId() {
        return this.original.getPbeKeyId();
    }

    @Override
    public String getPbeKey() {
        return this.original.getPbeKey();
    }
}