blob: c0610e4a2abc12dba4c3d656518badf9f8154630 [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.common.derivedKey;
import javax.xml.namespace.QName;
import org.apache.wss4j.common.ext.WSSecurityException;
/**
* Class ConversationConstants
*/
public final class ConversationConstants {
public static final int VERSION_05_02 = 1;
public static final int VERSION_05_12 = 2;
public static final int DEFAULT_VERSION = VERSION_05_12;
/**
* WS-SecConv Feb 2005 version
*/
public static final String WSC_NS_05_02 = "http://schemas.xmlsoap.org/ws/2005/02/sc";
/**
* WS-Sx version
*/
public static final String WSC_NS_05_12 =
"http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512";
/**
* Token type of DerivedKeyToken
*/
public static final String TOKEN_TYPE_DERIVED_KEY_TOKEN = "/dk";
/**
* Token type of SecurityContextToken
*/
public static final String TOKEN_TYPE_SECURITY_CONTEXT_TOKEN = "/sct";
/**
* Field WSC_PREFIX
*/
public static final String WSC_PREFIX = "wsc";
/**
* Field SECURITY_CONTEXT_TOKEN_LN
*/
public static final String SECURITY_CONTEXT_TOKEN_LN =
"SecurityContextToken";
/**
* Field IDENTIFIER_LN
*/
public static final String IDENTIFIER_LN = "Identifier";
/**
* Field INSTANCE_LN
*/
public static final String INSTANCE_LN = "Instance";
/**
* Field EXPIRES_LN
*/
public static final String EXPIRES_LN = "Expires";
/**
* Field KEYS_LN
*/
public static final String KEYS_LN = "Keys";
/**
* Field SECURITY_TOKEN_REFERENCE_LN
*/
public static final String SECURITY_TOKEN_REFERENCE_LN =
"SecurityTokenReference";
/**
* Field DERIVED_KEY_TOKEN_LN
*/
public static final String DERIVED_KEY_TOKEN_LN = "DerivedKeyToken";
/**
* Field PROPERTIES_LN
*/
public static final String PROPERTIES_LN = "Properties";
/**
* Field LENGTH_LN
*/
public static final String LENGTH_LN = "Length";
/**
* Field GENERATION_LN
*/
public static final String GENERATION_LN = "Generation";
/**
* Field OFFSET_LN
*/
public static final String OFFSET_LN = "Offset";
/**
* Field LABEL_LN
*/
public static final String LABEL_LN = "Label";
/**
* Field NONCE_LN
*/
public static final String NONCE_LN = "Nonce";
public static final int DIRECT_GENERATED = 1;
public static final int STS_GENERATED = 2;
public static final int STSREQUEST_TOKEN = 3;
public static final int INTEROP_SCENE1 = 4;
public static final String IDENTIFIER = "SCT_Identifier";
public static final int DK_SIGN = 1;
public static final int DK_ENCRYPT = 2;
public static final String DEFAULT_LABEL = "WS-SecureConversation";
public static final QName SECURITY_CTX_TOKEN_QNAME_05_02 =
new QName(
ConversationConstants.WSC_NS_05_02,
ConversationConstants.SECURITY_CONTEXT_TOKEN_LN
);
public static final QName SECURITY_CTX_TOKEN_QNAME_05_12 =
new QName(
ConversationConstants.WSC_NS_05_12,
ConversationConstants.SECURITY_CONTEXT_TOKEN_LN
);
public static final QName DERIVED_KEY_TOKEN_QNAME_05_02 =
new QName(
ConversationConstants.WSC_NS_05_02,
ConversationConstants.DERIVED_KEY_TOKEN_LN
);
public static final QName DERIVED_KEY_TOKEN_QNAME_05_12 =
new QName(
ConversationConstants.WSC_NS_05_12,
ConversationConstants.DERIVED_KEY_TOKEN_LN
);
/**
* Key to hold the map of security context identifiers against the
* service epr addresses (service scope) or wsa:Action values (operation
* scope).
*/
public static final String KEY_CONTEXT_MAP = "contextMap";
private ConversationConstants() {
// Complete
}
public interface DerivationAlgorithm {
String P_SHA_1 =
"http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
String P_SHA_1_2005_12 =
"http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1";
byte[] createKey(byte[] secret, byte[] seed, int offset, long length)
throws WSSecurityException;
}
public static String getWSCNs(int version) {
if (VERSION_05_02 == version) {
return WSC_NS_05_02;
} else {
return WSC_NS_05_12;
}
}
public static int getWSTVersion(String ns) {
if (WSC_NS_05_02.equals(ns)) {
return VERSION_05_02;
} else {
return VERSION_05_12;
}
}
}