Package org.ejbca.core.protocol.unid

Source Code of org.ejbca.core.protocol.unid.RequestMessageSubjectDnAdapter

/*************************************************************************
*                                                                       *
*  EJBCA: 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.x509.X509Extensions;
import org.bouncycastle.asn1.x509.X509Name;
import org.bouncycastle.jce.X509Principal;
import org.ejbca.core.protocol.IRequestMessage;
import org.ejbca.core.protocol.IResponseMessage;
import org.ejbca.core.protocol.cmp.ICrmfRequestMessage;
import org.ejbca.util.CertTools;

/**
* Changes the DN in an IRequestMessage
* @author primelars
* @version $Id: RequestMessageSubjectDnAdapter.java 12045 2011-05-20 10:56:11Z anatom $
*
*/
class RequestMessageSubjectDnAdapter implements ICrmfRequestMessage {
  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(IRequestMessage req, X509Name _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 X509Name name = getRequestX509Name();
    if ( name==null ) {
      return null;
    }
    return CertTools.stringToBCDNString(name.toString());
  }
  @Override
  public X509Name getRequestX509Name() {
    return this.dn;
  }
  @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 X509Extensions 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 IResponseMessage createResponseMessage(Class responseClass,
      IRequestMessage req, Certificate cert, PrivateKey signPriv,
      String provider) {
    return this.original.createResponseMessage(responseClass, req, cert, signPriv, 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();
  }   
}
TOP

Related Classes of org.ejbca.core.protocol.unid.RequestMessageSubjectDnAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.