All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.xml.wss.impl.PolicyTypeUtil Maven / Gradle / Ivy

There is a newer version: 4.0.3
Show newest version
/*
 * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Distribution License v. 1.0, which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

/*
 * $Id: PolicyTypeUtil.java,v 1.2 2010-10-21 15:37:15 snajper Exp $
 */

package com.sun.xml.wss.impl;

import com.sun.xml.wss.impl.policy.mls.WSSPolicy;
import com.sun.xml.wss.impl.policy.SecurityPolicy;

/*
 * A type utility class for policies (useful for avoiding instanceof checks).
 */
public  class PolicyTypeUtil {
    
    
    public static final String SEC_POLICY_CONTAINER_TYPE = "SecurityPolicyContainer";
    public static final String DYN_SEC_POLICY_TYPE= "DynamicSecurityPolicy";
    public static final String SEC_POLICY_ALTERNATIVES_TYPE= "SecurityPolicyAlternatives";
    public static final String BOOLEAN_COMPOSER_TYPE = "BooleanComposer";
    public static final String APP_SEC_CONFIG_TYPE = "ApplicationSecurityConfiguration";
    public static final String DECL_SEC_CONFIG_TYPE = "DeclarativeSecurityConfiguration";
    public static final String MESSAGEPOLICY_CONFIG_TYPE = "MessagePolicy";
    
    public static final String AUTH_POLICY_TYPE = "AuthenticationTokenPolicy";
    public static final String SIGNATURE_POLICY_TYPE = "SignaturePolicy";
    public static final String ENCRYPTION_POLICY_TYPE = "EncryptionPolicy";
    public static final String TIMESTAMP_POLICY_TYPE = "TimestampPolicy";
    public static final String SIGNATURE_CONFIRMATION_POLICY_TYPE = "SignatureConfirmationPolicy";
    
    public static final String USERNAMETOKEN_TYPE = "UsernameTokenBinding";
    public static final String X509CERTIFICATE_TYPE = "X509CertificateBinding";
    public static final String SAMLASSERTION_TYPE = "SAMLAssertionBinding";
    public static final String SYMMETRIC_KEY_TYPE = "SymmetricKeyBinding";
    public static final String KERBEROS_BST_TYPE =  "KerberosTokenBinding";
    public static final String RSATOKEN_TYPE = "RsaTokenBinding";
    
    public static final String PRIVATEKEY_BINDING_TYPE = "PrivateKeyBinding";
    public static final String ENCRYPTION_POLICY_FEATUREBINDING_TYPE = "EncryptionPolicy.FeatureBinding";
    public static final String SIGNATURE_POLICY_FEATUREBINDING_TYPE = "SignaturePolicy.FeatureBinding";
    
    public static final String DERIVED_TOKEN_KEY_BINDING = "DerivedTokenKeyBinding";
    public static final String ISSUED_TOKEN_KEY_BINDING = "IssuedTokenKeyBinding";
    public static final String SECURE_CONVERSATION_TOKEN_KEY_BINDING = "SecureConversationTokenKeyBinding";
    
    public static final String MANDATORY_TARGET_POLICY_TYPE = "MandatoryTargetPolicy";
    public static final String MANDATORY_TARGET_FEATUREBINDING_TYPE = "MandatoryTargetPolicy.FeatureBinding";
    
    public static boolean isPrimaryPolicy(WSSPolicy policy) {
        if (policy == null) return false;
        
        if (signaturePolicy(policy) || encryptionPolicy(policy))
            return true;
        
        return false;
    }
    
    public static boolean isSecondaryPolicy(WSSPolicy policy) {
        if (policy == null) return false;
        if (authenticationTokenPolicy(policy) || timestampPolicy(policy))
            return true;
        
        return false;
    }
    
    public static boolean signaturePolicyFeatureBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == SIGNATURE_POLICY_FEATUREBINDING_TYPE);
    }
    
    public static boolean encryptionPolicyFeatureBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == ENCRYPTION_POLICY_FEATUREBINDING_TYPE);
    }
    
    public static boolean privateKeyBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() ==  PRIVATEKEY_BINDING_TYPE);
    }
    
    public static boolean encryptionPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == ENCRYPTION_POLICY_TYPE);
    }
    
    public static boolean signaturePolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == SIGNATURE_POLICY_TYPE);
    }
    
    public static boolean timestampPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == TIMESTAMP_POLICY_TYPE);
    }
    
    public static boolean signatureConfirmationPolicy(SecurityPolicy policy){
        if(policy == null) return false;
        return (policy.getType() == SIGNATURE_CONFIRMATION_POLICY_TYPE);
    }
    
    public static boolean authenticationTokenPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == AUTH_POLICY_TYPE);
    }
    
    public static boolean usernameTokenPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == USERNAMETOKEN_TYPE);
    }
    
   public static boolean usernameTokenBinding(SecurityPolicy policy){
       if(policy == null) return false;
       return (policy.getType() == USERNAMETOKEN_TYPE );       
   }
    
    public static boolean x509CertificateBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == X509CERTIFICATE_TYPE);
    }
    
    public static boolean keyValueTokenBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == RSATOKEN_TYPE);
    }
    
    public static boolean kerberosTokenBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == KERBEROS_BST_TYPE);
    }
    
    public static boolean samlTokenPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == SAMLASSERTION_TYPE);
    }
    
    public static boolean symmetricKeyBinding(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == SYMMETRIC_KEY_TYPE);
    }
    
    public static boolean booleanComposerPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == BOOLEAN_COMPOSER_TYPE);
    }
    
    public static boolean dynamicSecurityPolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == DYN_SEC_POLICY_TYPE);
    }
    
    public static boolean messagePolicy(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == MESSAGEPOLICY_CONFIG_TYPE);
    }
    
    public static boolean applicationSecurityConfiguration(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == APP_SEC_CONFIG_TYPE);
    }
    
    public static boolean declarativeSecurityConfiguration(SecurityPolicy policy) {
        if (policy == null) return false;
        return (policy.getType() == DECL_SEC_CONFIG_TYPE);
    }
    
    public static boolean derivedTokenKeyBinding(SecurityPolicy policy) {
        if ( policy == null ) return false;
        return ( policy.getType() == DERIVED_TOKEN_KEY_BINDING);
    }
    
    public String getTIMESTAMP_POLICY_TYPE() {
        return TIMESTAMP_POLICY_TYPE;
    }
    
    public static boolean issuedTokenKeyBinding(SecurityPolicy policy) {
        if ( policy == null) return false;
        return ( policy.getType() == ISSUED_TOKEN_KEY_BINDING);
    }
    
    public static boolean secureConversationTokenKeyBinding(
              SecurityPolicy policy) {
        if ( policy == null) return false;
        return ( policy.getType() == SECURE_CONVERSATION_TOKEN_KEY_BINDING);
    }
    
    
    public static boolean isMandatoryTargetPolicy(SecurityPolicy policy){
        if ( policy == null) return false;
        return ( policy.getType() == MANDATORY_TARGET_POLICY_TYPE);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy