| /** |
| * 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; |
| } |
| |
| } |