View Javadoc

1   /*
2    * Copyright 2008 Members of the EGEE Collaboration.
3    * Copyright 2008 University Corporation for Advanced Internet Development, Inc.
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.opensaml.ws.wssecurity;
18  
19  import javax.xml.namespace.QName;
20  
21  /**
22   * Constants for the WS-Security 2004.
23   * 
24   * @see "WS-Security 2004 Specification"
25   * 
26   */
27  public final class WSSecurityConstants {
28      
29      // Namespaces and prefixes.
30  
31      /** WS-Security SOAP Message Security 1.0 namespace. */
32      public static final String WS_SECURITY_NS =
33          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0";
34  
35      /** WS-Security SOAP Message Security 1.1 namespace. */
36      public static final String WS_SECURITY11_NS =
37          "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1";
38  
39      /** WS-Security Utility 1.0 namespace. */
40      public static final String WSU_NS =
41          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
42  
43      /** WS-Security Utility 1.0 prefix. */
44      public static final String WSU_PREFIX = "wsu";
45  
46      /** WS-Security Security Extension 1.0 namespace. */
47      public static final String WSSE_NS =
48          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
49  
50      /** WS-Security Security Extension 1.0 prefix. */
51      public static final String WSSE_PREFIX = "wsse";
52  
53      /** WS-Security Security Extension 1.1 namespace. */
54      public static final String WSSE11_NS =
55          "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd";
56  
57      /** WS-Security Security Extension 1.1 prefix. */
58      public static final String WSSE11_PREFIX = "wsse11";
59  
60      /** WS-Security SAML Token Profile 1.0 namespace. */
61      public static final String WSSE_SAML_TOKEN_PROFILE_NS =
62          "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0";
63  
64      /** WS-Security SAML Token Profile 1.1 namespace. */
65      public static final String WSSE11_SAML_TOKEN_PROFILE_NS =
66          "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1";
67  
68      /** WS-Security Username Token Profile 1.0 namespace. */
69      public static final String WSSE_USERNAME_TOKEN_PROFILE_NS =
70          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0";
71  
72      /** WS-Security X509 Token Profile 1.0 namespace. */
73      public static final String WSSE_X509_TOKEN_PROFILE_NS =
74          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0";
75  
76      /** WS-Security Kerberos Token Profile 1.1 namespace. */
77      public static final String WSSE_KERBEROS_TOKEN_PROFILE_NS =
78          "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1";
79      
80      // SOAP fault codes.
81      
82      /** WS-Security SOAP fault code: SOAP"wsse:UnsupportedSecurityToken". */
83      public static final QName SOAP_FAULT_UNSUPPORTED_SECURITY_TOKEN =
84          new QName(WSSE_NS, "UnsupportedSecurityToken", WSSE_PREFIX);
85      
86      /** WS-Security SOAP fault code: "wsse:UnsupportedAlgorithm". */
87      public static final QName SOAP_FAULT_UNSUPPORTED_ALGORITHM =
88          new QName(WSSE_NS, "UnsupportedAlgorithm", WSSE_PREFIX);
89      
90      /** WS-Security SOAP fault code: "wsse:InvalidSecurity". */
91      public static final QName SOAP_FAULT_INVALID_SECURITY =
92          new QName(WSSE_NS, "InvalidSecurity", WSSE_PREFIX);
93      
94      /** WS-Security SOAP fault code: "wsse:InvalidSecurityToken". */
95      public static final QName SOAP_FAULT_INVALID_SECURITY_TOKEN =
96          new QName(WSSE_NS, "InvalidSecurityToken", WSSE_PREFIX);
97      
98      /** WS-Security SOAP fault code: "wsse:FailedAuthentication". */
99      public static final QName SOAP_FAULT_FAILED_AUTHENTICATION =
100         new QName(WSSE_NS, "FailedAuthentication", WSSE_PREFIX);
101     
102     /** WS-Security SOAP fault code: "wsse:FailedCheck". */
103     public static final QName SOAP_FAULT_FAILED_CHECK =
104         new QName(WSSE_NS, "FailedCheck", WSSE_PREFIX);
105     
106     /** WS-Security SOAP fault code: "wsse:SecurityTokenUnavailable". */
107     public static final QName SOAP_FAULT_SECURITY_TOKEN_UNAVAILABLE =
108         new QName(WSSE_NS, "SecurityTokenUnavailable", WSSE_PREFIX);
109     
110     /** WS-Security SOAP fault code: "wsu:MessageExpired". */
111     public static final QName SOAP_FAULT_MESSAGE_EXPIRED =
112         new QName(WSU_NS, "MessageExpired", WSU_PREFIX);
113     
114     // Other constants
115     
116     /** WS-Security - Username Token Profile - UsernameToken. */
117     public static final String USERNAME_TOKEN =
118         WSSE_USERNAME_TOKEN_PROFILE_NS + "#UsernameToken";
119 
120     /** WS-Security - X.509 Token Profile - X509V3. */
121     public static final String X509_V3 =
122         WSSE_X509_TOKEN_PROFILE_NS + "#X509v3";
123 
124     /** WS-Security - X.509 Token Profile - X509V1. */
125     public static final String X509_V1 =
126         WSSE_X509_TOKEN_PROFILE_NS + "#X509v1";
127 
128     /** WS-Security - X.509 Token Profile - X509PKIPathv1. */
129     public static final String X509_PKI_PATH_V1 =
130         WSSE_X509_TOKEN_PROFILE_NS + "#X509PKIPathv1";
131 
132     /** WS-Security - X.509 Token Profile - PKCS7. */
133     public static final String X509_PKCS7 =
134         WSSE_X509_TOKEN_PROFILE_NS + "#PKCS7";
135     
136     /** WS-Security - X.509 Token Profile - X509SubjectKeyIdentifier. */
137     public static final String X509_SUBJECT_KEY_IDENTIFIER =
138         WSSE_X509_TOKEN_PROFILE_NS + "#X509SubjectKeyIdentifier";
139 
140     /** WS-Security - Kerberos Token Profile - Kerberosv5_AP_REQ. */
141     public static final String KERBEROS_AP_REQ =
142         WSSE_KERBEROS_TOKEN_PROFILE_NS + "#Kerberosv5_AP_REQ";
143 
144     /** WS-Security - Kerberos Token Profile - GSS_Kerberosv5_AP_REQ. */
145     public static final String GSS_KERBEROS_AP_REQ =
146         WSSE_KERBEROS_TOKEN_PROFILE_NS + "#GSS_Kerberosv5_AP_REQ";
147 
148     /** WS-Security - Kerberos Token Profile - Kerberosv5_AP_REQ1510. */
149     public static final String KERBEROS_AP_REQ_1510 =
150         WSSE_KERBEROS_TOKEN_PROFILE_NS + "#Kerberosv5_AP_REQ1510";
151 
152     /** WS-Security - Kerberos Token Profile - GSS_Kerberosv5_AP_REQ1510. */
153     public static final String GSS_KERBEROS_AP_REQ_1510 =
154         WSSE_KERBEROS_TOKEN_PROFILE_NS + "#GSS_Kerberosv5_AP_REQ1510";
155 
156     /** WS-Security - KeyIdentifier - ThumbPrintSHA1.*/
157     public static final String THUMB_PRINT_SHA1 =
158         WS_SECURITY_NS + "#ThumbPrintSHA1";
159 
160     /** WS-Security - KeyIdentifier - EncryptedKeySHA1.*/
161     public static final String ENCRYPTED_KEY_SHA1 =
162         WS_SECURITY_NS + "#EncryptedKeySHA1";
163     
164     /**
165      * Prevents instantiation.
166      */
167     private WSSecurityConstants() {
168     }
169 
170 }