blob: dd911ac5aadfb5950d13632a099a33bc26d60f74 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.wss4j.dom.validate;
import java.security.Principal;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
import javax.security.auth.Subject;
import org.apache.wss4j.common.saml.SamlAssertionWrapper;
import org.apache.wss4j.common.token.BinarySecurity;
import org.apache.wss4j.dom.message.token.SecurityContextToken;
import org.apache.wss4j.dom.message.token.Timestamp;
import org.apache.wss4j.dom.message.token.UsernameToken;
/**
* This class stores various Credential types that can be validated and/or returned by a
* Validator implementation. It also stores an optional Principal object which can provide
* context information to the validators.
*/
public class Credential {
private PublicKey publicKey;
private X509Certificate[] certs;
private Timestamp timestamp;
private UsernameToken usernametoken;
private BinarySecurity binarySecurityToken;
private SamlAssertionWrapper samlAssertion;
private SamlAssertionWrapper transformedToken;
private SecurityContextToken securityContextToken;
private Principal principal;
private byte[] secretKey;
private Subject subject;
private Object delegationCredential;
/**
* Set a SecurityContextToken to be validated
* @param securityContextToken a SecurityContextToken to be validated
*/
public void setSecurityContextToken(SecurityContextToken securityContextToken) {
this.securityContextToken = securityContextToken;
}
/**
* Get a SecurityContextToken to be validated
* @return a SecurityContextToken to be validated
*/
public SecurityContextToken getSecurityContextToken() {
return securityContextToken;
}
/**
* Set a SecretKey (byte[]) to be validated
* @param secretKey a SecretKey (byte) to be validated
*/
public void setSecretKey(byte[] secretKey) {
this.secretKey = secretKey;
}
/**
* Get a SecretKey (byte[]) to be validated
* @return a SecretKey (byte[]) to be validated
*/
public byte[] getSecretKey() {
return secretKey;
}
/**
* Set a PublicKey to be validated
* @param publicKey a PublicKey to be validated
*/
public void setPublicKey(PublicKey publicKey) {
this.publicKey = publicKey;
}
/**
* Get a PublicKey to be validated
* @return a PublicKey to be validated
*/
public PublicKey getPublicKey() {
return publicKey;
}
/**
* Set an X509Certificate chain to be validated
* @param certs an X509Certificate chain to be validated
*/
public void setCertificates(X509Certificate[] certs) {
this.certs = certs;
}
/**
* Get an X509Certificate chain to be validated
* @return an X509Certificate chain to be validated
*/
public X509Certificate[] getCertificates() {
return certs;
}
/**
* Set a Timestamp to be validated
* @param timestamp a Timestamp to be validated
*/
public void setTimestamp(Timestamp timestamp) {
this.timestamp = timestamp;
}
/**
* Get a Timestamp to be validated
* @return a Timestamp to be validated
*/
public Timestamp getTimestamp() {
return timestamp;
}
/**
* Set a UsernameToken to be validated
* @param usernametoken a UsernameToken to be validated
*/
public void setUsernametoken(UsernameToken usernametoken) {
this.usernametoken = usernametoken;
}
/**
* Get a UsernameToken to be validated
* @return a UsernameToken to be validated
*/
public UsernameToken getUsernametoken() {
return usernametoken;
}
/**
* Set the BinarySecurityToken to be validated
* @param binarySecurityToken the BinarySecurityToken to be validated
*/
public void setBinarySecurityToken(BinarySecurity binarySecurityToken) {
this.binarySecurityToken = binarySecurityToken;
}
/**
* Get the BinarySecurityToken to be validated
* @return the BinarySecurityToken to be validated
*/
public BinarySecurity getBinarySecurityToken() {
return binarySecurityToken;
}
/**
* Set an SamlAssertionWrapper to be validated
* @param samlAssertion an SamlAssertionWrapper to be validated
*/
public void setSamlAssertion(SamlAssertionWrapper samlAssertion) {
this.samlAssertion = samlAssertion;
}
/**
* Get an SamlAssertionWrapper to be validated
* @return an SamlAssertionWrapper to be validated
*/
public SamlAssertionWrapper getSamlAssertion() {
return samlAssertion;
}
/**
* Set an SamlAssertionWrapper instance which corresponds to a Transformed Token.
* @param transformedToken a transformed SamlAssertionWrapper instance
*/
public void setTransformedToken(SamlAssertionWrapper transformedToken) {
this.transformedToken = transformedToken;
}
/**
* Get an SamlAssertionWrapper instance which corresponds to a Transformed Token.
* @return a transformed SamlAssertionWrapper instance
*/
public SamlAssertionWrapper getTransformedToken() {
return transformedToken;
}
/**
* Set the principal that supplies context information to the validators.
* @param principal the principal that supplies context information to the validators
*/
public void setPrincipal(Principal principal) {
this.principal = principal;
}
/**
* Get the principal
* @return the principal
*/
public Principal getPrincipal() {
return principal;
}
/**
* Set the subject that may result from the Validation process
* @param subject the subject that may result from the Validation process
*/
public void setSubject(Subject subject) {
this.subject = subject;
}
/**
* Get the subject that may result from the Validation process
* @return the subject that may result from the Validation process
*/
public Subject getSubject() {
return subject;
}
public Object getDelegationCredential() {
return delegationCredential;
}
public void setDelegationCredential(Object delegationCredential) {
this.delegationCredential = delegationCredential;
}
}