/*
* Copyright 2008 Federal Chancellery Austria and
* Graz University of Technology
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package at.gv.egiz.bku.slcommands.impl.xsect;
import java.security.PrivateKey;
import at.gv.egiz.stal.STAL;
import at.gv.egiz.stal.HashDataInputCallback;
/**
* This class implements a private key used by the {@link STALSignature} class.
*
* @author mcentner
*/
public class STALPrivateKey implements PrivateKey {
private static final long serialVersionUID = 1L;
/**
* The STAL implementation.
*/
private STAL stal;
/**
* The callback interface for obtaining the hash input data.
*/
private HashDataInputCallback hashDataInputCallback;
/**
* The keybox identifier.
*/
private String keyboxIdentifier;
/**
* The signature algorithm.
*/
private String algorithm;
/**
* Creates a new instance of this STALPrivateKey
with the given
* stal
implementation, signature algorithm
,
* keyboxIdentifier
and hashDataInputCallback
* interface.
*
* @param stal
* the STAL implementation
* @param algorithm
* the signature algorithm
* @param keyboxIdentifier
* the keybox identifier
* @param hashDataInputCallback
* the interface for obtaining the has input data
*/
public STALPrivateKey(STAL stal,
String algorithm, String keyboxIdentifier, HashDataInputCallback hashDataInputCallback) {
super();
this.keyboxIdentifier = keyboxIdentifier;
this.hashDataInputCallback = hashDataInputCallback;
this.stal = stal;
this.algorithm = algorithm;
}
/* (non-Javadoc)
* @see java.security.Key#getAlgorithm()
*/
@Override
public String getAlgorithm() {
return algorithm;
}
/* (non-Javadoc)
* @see java.security.Key#getEncoded()
*/
@Override
public byte[] getEncoded() {
throw new UnsupportedOperationException("STALPrivateKey does not support the getEncoded() method.");
}
/* (non-Javadoc)
* @see java.security.Key#getFormat()
*/
@Override
public String getFormat() {
return null;
}
/**
* @return the STAL implementation
*/
public STAL getStal() {
return stal;
}
/**
* @return the interface for obtaining the hash data input
*/
public HashDataInputCallback getHashDataInputCallback() {
return hashDataInputCallback;
}
/**
* @return the keybox identifier
*/
public String getKeyboxIdentifier() {
return keyboxIdentifier;
}
}