View Javadoc
1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements. See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership. The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License. You may obtain a copy of the License at
9    *
10   * http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied. See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.wss4j.common.saml.builder;
21  
22  
23  /**
24   * Class SAML2Constants provides static constant definitions associated with
25   * the SAML v2.x specification.
26   */
27  public final class SAML2Constants {
28      //
29      // NAME ID FORMAT
30      //
31  
32      public static final String NAMEID_FORMAT_UNSPECIFIED =
33          "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
34  
35      public static final String NAMEID_FORMAT_EMAIL_ADDRESS =
36          "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress";
37  
38      public static final String NAMEID_FORMAT_X509_SUBJECT_NAME =
39          "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName";
40  
41      public static final String NAMEID_FORMAT_WINDOWS_DQN =
42          "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName";
43  
44      public static final String NAMEID_FORMAT_KERBEROS =
45          "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos";
46  
47      public static final String NAMEID_FORMAT_ENTITY =
48          "urn:oasis:names:tc:SAML:2.0:nameid-format:entity";
49  
50      public static final String NAMEID_FORMAT_PERSISTENT =
51          "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent";
52  
53      public static final String NAMEID_FORMAT_TRANSIENT =
54          "urn:oasis:names:tc:SAML:2.0:nameid-format:transient";
55  
56      //
57      // SUBJECT CONFIRMATION
58      //
59  
60      public static final String CONF_BEARER =
61          "urn:oasis:names:tc:SAML:2.0:cm:bearer";
62  
63      public static final String CONF_HOLDER_KEY =
64          "urn:oasis:names:tc:SAML:2.0:cm:holder-of-key";
65  
66      public static final String CONF_SENDER_VOUCHES =
67          "urn:oasis:names:tc:SAML:2.0:cm:sender-vouches";
68  
69      //
70      // AUTH CONTEXT CLASS REF
71      //
72  
73      public static final String AUTH_CONTEXT_CLASS_REF_INTERNET_PROTOCOL =
74          "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol";
75  
76      public static final String AUTH_CONTEXT_CLASS_REF_INTERNET_PROTOCOL_PASSWORD =
77          "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword";
78  
79      public static final String AUTH_CONTEXT_CLASS_REF_KERBEROS =
80          "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos";
81  
82      public static final String AUTH_CONTEXT_CLASS_REF_MOBILE_ONE_FACTOR_UNREGISTERED =
83          "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered";
84  
85      public static final String AUTH_CONTEXT_CLASS_REF_MOBILE_TWO_FACTOR_UNREGISTERED =
86          "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered";
87  
88      public static final String AUTH_CONTEXT_CLASS_REF_MOBILE_ONE_FACTOR_CONTRACT =
89          "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract";
90  
91      public static final String AUTH_CONTEXT_CLASS_REF_MOBILE_TWO_FACTOR_CONTRACT =
92          "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract";
93  
94      public static final String AUTH_CONTEXT_CLASS_REF_PASSWORD =
95          "urn:oasis:names:tc:SAML:2.0:ac:classes:Password";
96  
97      public static final String AUTH_CONTEXT_CLASS_REF_PASSWORD_PROTECTED_TRANSPORT =
98          "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport";
99  
100     public static final String AUTH_CONTEXT_CLASS_REF_PREVIOUS_SESSION =
101         "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession";
102 
103     public static final String AUTH_CONTEXT_CLASS_REF_X509 =
104         "urn:oasis:names:tc:SAML:2.0:ac:classes:X509";
105 
106     public static final String AUTH_CONTEXT_CLASS_REF_PGP =
107         "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP";
108 
109     public static final String AUTH_CONTEXT_CLASS_REF_SPKI =
110         "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI";
111 
112     public static final String AUTH_CONTEXT_CLASS_REF_XMLDSIG =
113         "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig";
114 
115     public static final String AUTH_CONTEXT_CLASS_REF_SMARTCARD =
116         "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard";
117 
118     public static final String AUTH_CONTEXT_CLASS_REF_SMARTCARD_PKI =
119         "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI";
120 
121     public static final String AUTH_CONTEXT_CLASS_REF_SOFTWARE_PKI =
122         "urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI";
123 
124     public static final String AUTH_CONTEXT_CLASS_REF_TELEPHONY =
125         "urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony";
126 
127     public static final String AUTH_CONTEXT_CLASS_REF_NOMAD_TELEPHONY =
128         "urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony";
129 
130     public static final String AUTH_CONTEXT_CLASS_REF_PERSONAL_TELEPHONY =
131         "urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony";
132 
133     public static final String AUTH_CONTEXT_CLASS_REF_AUTHENTICATED_TELEPHONY =
134         "urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony";
135 
136     public static final String AUTH_CONTEXT_CLASS_REF_SECURED_REMOTE_PASSWORD =
137         "urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword";
138 
139     public static final String AUTH_CONTEXT_CLASS_REF_TLS_CLIENT =
140         "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient";
141 
142     public static final String AUTH_CONTEXT_CLASS_REF_TIME_SYNC_TOKEN =
143         "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken";
144 
145     public static final String AUTH_CONTEXT_CLASS_REF_UNSPECIFIED =
146         "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified";
147 
148     //
149     // ATTRIBUTE NAME FORMAT
150     //
151 
152     public static final String ATTRNAME_FORMAT_UNSPECIFIED =
153         "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified";
154 
155     public static final String ATTRNAME_FORMAT_URI =
156         "urn:oasis:names:tc:SAML:2.0:attrname-format:uri";
157 
158     public static final String ATTRNAME_FORMAT_BASIC =
159         "urn:oasis:names:tc:SAML:2.0:attrname-format:basic";
160 
161     private SAML2Constants() {
162         // Complete
163     }
164 }