1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.wss4j.policy;
20
21 import javax.xml.namespace.QName;
22 import java.util.EnumSet;
23 import java.util.HashMap;
24 import java.util.Map;
25
26 public abstract class SPConstants {
27
28 public static final String ERR_INVALID_POLICY = "Invalid Policy";
29 public static final QName EMPTY_QNAME = new QName("", "", "");
30
31 public enum SPVersion {
32
33 SP11(SP11Constants.SP_NS, SP11Constants.SP_PREFIX, SP11Constants.getInstance()),
34
35 SP12(SP12Constants.SP_NS, SP12Constants.SP_PREFIX, SP13Constants.getInstance()),
36 SP13(SP13Constants.SP_NS, SP13Constants.SP_PREFIX, SP13Constants.getInstance());
37
38 private final String prefix;
39 private final String namespace;
40 private final SPConstants spConstants;
41
42 SPVersion(String namespace, String prefix, SPConstants spConstants) {
43 this.namespace = namespace;
44 this.spConstants = spConstants;
45 this.prefix = prefix;
46 }
47
48 private static final Map<String, SPVersion> LOOKUP = new HashMap<>();
49
50 static {
51 for (SPVersion spVersion : EnumSet.allOf(SPVersion.class)) {
52 LOOKUP.put(spVersion.namespace, spVersion);
53 }
54 }
55
56 public static SPVersion getSPVersion(String namespace) {
57 return LOOKUP.get(namespace);
58 }
59
60 public SPConstants getSPConstants() {
61 return spConstants;
62 }
63
64 public String getNamespace() {
65 return namespace;
66 }
67
68 public String getPrefix() {
69 return prefix;
70 }
71 }
72
73 public static final String P_LOCALNAME = "Policy";
74
75
76 public static final String LAYOUT = "Layout";
77
78
79
80
81 public static final String LAYOUT_STRICT = "Strict";
82
83
84
85
86 public static final String LAYOUT_LAX = "Lax";
87
88
89
90
91 public static final String LAYOUT_LAX_TIMESTAMP_FIRST = "LaxTsFirst";
92
93
94
95
96 public static final String LAYOUT_LAX_TIMESTAMP_LAST = "LaxTsLast";
97
98
99
100
101
102
103 public static final String ENCRYPT_BEFORE_SIGNING = "EncryptBeforeSigning";
104
105
106
107
108 public static final String SIGN_BEFORE_ENCRYPTING = "SignBeforeEncrypting";
109
110
111
112 public static final String ENCRYPT_SIGNATURE = "EncryptSignature";
113
114
115
116 public static final String PROTECT_TOKENS = "ProtectTokens";
117
118
119
120 public static final String ONLY_SIGN_ENTIRE_HEADERS_AND_BODY = "OnlySignEntireHeadersAndBody";
121
122
123
124 public static final String INCLUDE_TIMESTAMP = "IncludeTimestamp";
125
126
127
128 public static final String SIGNED_PARTS = "SignedParts";
129
130 public static final String ENCRYPTED_PARTS = "EncryptedParts";
131
132 public static final String SIGNED_ELEMENTS = "SignedElements";
133
134 public static final String ENCRYPTED_ELEMENTS = "EncryptedElements";
135
136 public static final String REQUIRED_ELEMENTS = "RequiredElements";
137
138 public static final String CONTENT_ENCRYPTED_ELEMENTS = "ContentEncryptedElements";
139
140 public static final String REQUIRED_PARTS = "RequiredParts";
141
142 public static final String XPATH_VERSION = "XPathVersion";
143
144 public static final String XPATH_EXPR = "XPath";
145
146 public static final String XPATH2_EXPR = "Xpath2";
147
148 public static final String FILTER = "Filter";
149
150
151
152
153
154 public static final String X509_TOKEN = "X509Token";
155
156 public static final String WSS_X509_V1_TOKEN10 = "WssX509V1Token10";
157
158 public static final String WSS_X509_V3_TOKEN10 = "WssX509V3Token10";
159
160 public static final String WSS_X509_PKCS7_TOKEN10 = "WssX509Pkcs7Token10";
161
162 public static final String WSS_X509_PKI_PATH_V1_TOKEN10 = "WssX509PkiPathV1Token10";
163
164 public static final String WSS_X509_V1_TOKEN11 = "WssX509V1Token11";
165
166 public static final String WSS_X509_V3_TOKEN11 = "WssX509V3Token11";
167
168 public static final String WSS_X509_PKCS7_TOKEN11 = "WssX509Pkcs7Token11";
169
170 public static final String WSS_X509_PKI_PATH_V1_TOKEN11 = "WssX509PkiPathV1Token11";
171
172
173 public static final String USERNAME_TOKEN = "UsernameToken";
174
175 public static final String USERNAME_TOKEN10 = "WssUsernameToken10";
176
177 public static final String USERNAME_TOKEN11 = "WssUsernameToken11";
178
179
180 public static final String TRANSPORT_TOKEN = "TransportToken";
181
182 public static final String HTTPS_TOKEN = "HttpsToken";
183
184 public static final String KERBEROS_TOKEN = "KerberosToken";
185
186 public static final String SPNEGO_CONTEXT_TOKEN = "SpnegoContextToken";
187
188 public static final String REQUIRE_CLIENT_CERTIFICATE = "RequireClientCertificate";
189
190 public static final String HTTP_BASIC_AUTHENTICATION = "HttpBasicAuthentication";
191
192 public static final String HTTP_DIGEST_AUTHENTICATION = "HttpDigestAuthentication";
193
194 public static final String SECURITY_CONTEXT_TOKEN = "SecurityContextToken";
195
196 public static final String SECURE_CONVERSATION_TOKEN = "SecureConversationToken";
197
198 public static final String SAML_TOKEN = "SamlToken";
199
200 public static final String REL_TOKEN = "RelToken";
201
202 public static final String KEY_VALUE_TOKEN = "KeyValueToken";
203
204 public static final String RSA_KEY_VALUE = "RsaKeyValue";
205
206 public static final String ISSUED_TOKEN = "IssuedToken";
207
208
209 public static final String SIGNATURE_TOKEN = "SignatureToken";
210
211 public static final String ENCRYPTION_TOKEN = "EncryptionToken";
212
213 public static final String PROTECTION_TOKEN = "ProtectionToken";
214
215 public static final String INITIATOR_TOKEN = "InitiatorToken";
216
217 public static final String INITIATOR_SIGNATURE_TOKEN = "InitiatorSignatureToken";
218
219 public static final String INITIATOR_ENCRYPTION_TOKEN = "InitiatorEncryptionToken";
220
221 public static final String RECIPIENT_TOKEN = "RecipientToken";
222
223 public static final String RECIPIENT_SIGNATURE_TOKEN = "RecipientSignatureToken";
224
225 public static final String RECIPIENT_ENCRYPTION_TOKEN = "RecipientEncryptionToken";
226
227
228 public static final String SUPPORTING_TOKENS = "SupportingTokens";
229
230 public static final String SIGNED_SUPPORTING_TOKENS = "SignedSupportingTokens";
231
232 public static final String ENDORSING_SUPPORTING_TOKENS = "EndorsingSupportingTokens";
233
234 public static final String SIGNED_ENDORSING_SUPPORTING_TOKENS = "SignedEndorsingSupportingTokens";
235
236 public static final String ENCRYPTED_SUPPORTING_TOKENS = "EncryptedSupportingTokens";
237
238 public static final String SIGNED_ENCRYPTED_SUPPORTING_TOKENS = "SignedEncryptedSupportingTokens";
239
240 public static final String ENDORSING_ENCRYPTED_SUPPORTING_TOKENS = "EndorsingEncryptedSupportingTokens";
241
242 public static final String SIGNED_ENDORSING_ENCRYPTED_SUPPORTING_TOKENS =
243 "SignedEndorsingEncryptedSupportingTokens";
244
245
246
247 public static final String ALGORITHM_SUITE = "AlgorithmSuite";
248
249 public static final String ALGO_SUITE_BASIC256 = "Basic256";
250
251 public static final String ALGO_SUITE_BASIC192 = "Basic192";
252
253 public static final String ALGO_SUITE_BASIC128 = "Basic128";
254
255 public static final String ALGO_SUITE_TRIPLE_DES = "TripleDes";
256
257 public static final String ALGO_SUITE_BASIC256_RSA15 = "Basic256Rsa15";
258
259 public static final String ALGO_SUITE_BASIC192_RSA15 = "Basic192Rsa15";
260
261 public static final String ALGO_SUITE_BASIC128_RSA15 = "Basic128Rsa15";
262
263 public static final String ALGO_SUITE_TRIPLE_DES_RSA15 = "TripleDesRsa15";
264
265 public static final String ALGO_SUITE_BASIC256_SHA256 = "Basic256Sha256";
266
267 public static final String ALGO_SUITE_BASIC192_SHA256 = "Basic192Sha256";
268
269 public static final String ALGO_SUITE_BASIC128_SHA256 = "Basic128Sha256";
270
271 public static final String ALGO_SUITE_TRIPLE_DES_SHA256 = "TripleDesSha256";
272
273 public static final String ALGO_SUITE_BASIC256_SHA256_RSA15 = "Basic256Sha256Rsa15";
274
275 public static final String ALGO_SUITE_BASIC192_SHA256_RSA15 = "Basic192Sha256Rsa15";
276
277 public static final String ALGO_SUITE_BASIC128_SHA256_RSA15 = "Basic128Sha256Rsa15";
278
279 public static final String ALGO_SUITE_TRIPLE_DES_SHA256_RSA15 = "TripleDesSha256Rsa15";
280
281
282
283
284 public static final String HMAC_SHA1 = "http://www.w3.org/2000/09/xmldsig#hmac-sha1";
285
286 public static final String RSA_SHA1 = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
287
288 public static final String RSA_SHA256 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
289
290 public static final String RSA_SHA384 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384";
291
292 public static final String RSA_SHA512 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512";
293
294 public static final String SHA1 = "http://www.w3.org/2000/09/xmldsig#sha1";
295
296 public static final String SHA256 = "http://www.w3.org/2001/04/xmlenc#sha256";
297
298 public static final String SHA512 = "http://www.w3.org/2001/04/xmlenc#sha512";
299
300 public static final String AES128 = "http://www.w3.org/2001/04/xmlenc#aes128-cbc";
301
302 public static final String AES192 = "http://www.w3.org/2001/04/xmlenc#aes192-cbc";
303
304 public static final String AES256 = "http://www.w3.org/2001/04/xmlenc#aes256-cbc";
305
306 public static final String TRIPLE_DES = "http://www.w3.org/2001/04/xmlenc#tripledes-cbc";
307
308 public static final String KW_AES128 = "http://www.w3.org/2001/04/xmlenc#kw-aes128";
309
310 public static final String KW_AES192 = "http://www.w3.org/2001/04/xmlenc#kw-aes192";
311
312 public static final String KW_AES256 = "http://www.w3.org/2001/04/xmlenc#kw-aes256";
313
314 public static final String KW_TRIPLE_DES = "http://www.w3.org/2001/04/xmlenc#kw-tripledes";
315
316 public static final String KW_RSA_OAEP = "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";
317
318 public static final String KW_RSA15 = "http://www.w3.org/2001/04/xmlenc#rsa-1_5";
319
320 public static final String P_SHA1 = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
321
322 public static final String P_SHA1_L128 = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
323
324 public static final String P_SHA1_L192 = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
325
326 public static final String P_SHA1_L256 = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
327
328 public static final String XPATH = "http://www.w3.org/TR/1999/REC-xpath-19991116";
329
330 public static final String XPATH20 = "http://www.w3.org/2002/06/xmldsig-filter2";
331
332 public static final String C14N = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315";
333
334 public static final String C14N11 = "http://www.w3.org/2006/12/xml-c14n11";
335
336 public static final String EX_C14N = "http://www.w3.org/2001/10/xml-exc-c14n#";
337
338 public static final String SNT = "http://www.w3.org/TR/soap12-n11n";
339
340 public static final String STRT10 =
341 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform";
342
343
344
345 public static final String INCLUSIVE_C14N = "InclusiveC14N";
346
347 public static final String SOAP_NORMALIZATION_10 = "SoapNormalization10";
348
349 public static final String STR_TRANSFORM_10 = "STRTransform10";
350
351 public static final String XPATH10 = "XPath10";
352
353 public static final String XPATH_FILTER20 = "XPathFilter20";
354
355 public static final String ABS_XPATH = "http://docs.oasis-open.org/...TBD.../AbsXPath";
356
357
358
359 public static final String ATTR_INCLUDE_TOKEN = "IncludeToken";
360
361 public static final String INCLUDE_TOKEN_NEVER_SUFFIX = "/IncludeToken/Never";
362
363 public static final String INCLUDE_TOKEN_ONCE_SUFFIX = "/IncludeToken/Once";
364
365 public static final String INCLUDE_TOKEN_ALWAYS_TO_RECIPIENT_SUFFIX = "/IncludeToken/AlwaysToRecipient";
366
367 public static final String INCLUDE_TOKEN_ALWAYS_TO_INITIATOR_SUFFIX = "/IncludeToken/AlwaysToInitiator";
368
369 public static final String INCLUDE_TOKEN_ALWAYS_SUFFIX = "/IncludeToken/Always";
370
371 public static final int INCLUDE_TOKEN_NEVER = 1;
372
373 public static final int INCLUDE_TOKEN_ONCE = 2;
374
375 public static final int INCLUDE_TOKEN_ALWAYS_TO_RECIPIENT = 3;
376
377 public static final int INCLUDE_TOKEN_ALWAYS_TO_INITIATOR = 4;
378
379 public static final int INCLUDE_TOKEN_ALWAYS = 5;
380
381
382
383
384 public static final String TRANSPORT_BINDING = "TransportBinding";
385
386 public static final String ASYMMETRIC_BINDING = "AsymmetricBinding";
387
388 public static final String SYMMETRIC_BINDING = "SymmetricBinding";
389
390
391
392 public static final String REQUIRE_KEY_IDENTIFIER_REFERENCE = "RequireKeyIdentifierReference";
393
394 public static final String REQUIRE_ISSUER_SERIAL_REFERENCE = "RequireIssuerSerialReference";
395
396 public static final String REQUIRE_EMBEDDED_TOKEN_REFERENCE = "RequireEmbeddedTokenReference";
397
398 public static final String REQUIRE_THUMBPRINT_REFERENCE = "RequireThumbprintReference";
399
400 public static final String REQUIRE_SIGNATURE_CONFIRMATION = "RequireSignatureConfirmation";
401
402
403
404 public static final String MUST_SUPPORT_REF_KEY_IDENTIFIER = "MustSupportRefKeyIdentifier";
405
406 public static final String MUST_SUPPORT_REF_ISSUER_SERIAL = "MustSupportRefIssuerSerial";
407
408 public static final String MUST_SUPPORT_REF_EXTERNAL_URI = "MustSupportRefExternalURI";
409
410 public static final String MUST_SUPPORT_REF_EMBEDDED_TOKEN = "MustSupportRefEmbeddedToken";
411
412 public static final String MUST_SUPPORT_REF_THUMBPRINT = "MustSupportRefThumbprint";
413
414 public static final String MUST_SUPPORT_REF_ENCRYPTED_KEY = "MustSupportRefEncryptedKey";
415
416
417
418 public static final String WSS10 = "Wss10";
419
420 public static final String WSS11 = "Wss11";
421
422
423
424 public static final String TRUST_10 = "Trust10";
425
426 public static final String TRUST_13 = "Trust13";
427
428 public static final String MUST_SUPPORT_CLIENT_CHALLENGE = "MustSupportClientChallenge";
429
430 public static final String MUST_SUPPORT_SERVER_CHALLENGE = "MustSupportServerChallenge";
431
432 public static final String REQUIRE_CLIENT_ENTROPY = "RequireClientEntropy";
433
434 public static final String REQUIRE_SERVER_ENTROPY = "RequireServerEntropy";
435
436 public static final String MUST_SUPPORT_ISSUED_TOKENS = "MustSupportIssuedTokens";
437
438 public static final String REQUIRE_REQUEST_SECURITY_TOKEN_COLLECTION = "RequireRequestSecurityTokenCollection";
439
440 public static final String REQUIRE_APPLIES_TO = "RequireAppliesTo";
441
442 public static final String SCOPE_POLICY_15 = "ScopePolicy15";
443 public static final String MUST_SUPPORT_INTERACTIVE_CHALLENGE = "MustSupportInteractiveChallenge";
444
445 public static final String ISSUER = "Issuer";
446
447 public static final String ISSUER_NAME = "IssuerName";
448
449 public static final String CLAIMS = "Claims";
450
451 public static final String REQUIRE_DERIVED_KEYS = "RequireDerivedKeys";
452
453 public static final String REQUIRE_IMPLIED_DERIVED_KEYS = "RequireImpliedDerivedKeys";
454
455 public static final String REQUIRE_EXPLICIT_DERIVED_KEYS = "RequireExplicitDerivedKeys";
456
457 public static final String REQUIRE_EXTERNAL_URI_REFERENCE = "RequireExternalUriReference";
458
459 public static final String REQUIRE_EXTERNAL_REFERENCE = "RequireExternalReference";
460
461 public static final String REQUIRE_INTERNAL_REFERENCE = "RequireInternalReference";
462
463 public static final String REQUEST_SECURITY_TOKEN_TEMPLATE = "RequestSecurityTokenTemplate";
464
465 public static final String SC10_SECURITY_CONTEXT_TOKEN = "SC10SecurityContextToken";
466
467 public static final String SC13_SECURITY_CONTEXT_TOKEN = "SC13SecurityContextToken";
468
469 public static final String BOOTSTRAP_POLICY = "BootstrapPolicy";
470
471
472
473 public static final String HEADER = "Header";
474
475 public static final String BODY = "Body";
476
477 public static final String ATTACHMENTS = "Attachments";
478 public static final String CONTENT_SIGNATURE_TRANSFORM = "ContentSignatureTransform";
479 public static final String ATTACHMENT_COMPLETE_SIGNATURE_TRANSFORM = "AttachmentCompleteSignatureTransform";
480
481 public static final String NAME = "Name";
482 public static final String NAMESPACE = "Namespace";
483
484
485
486 public static final String NO_PASSWORD = "NoPassword";
487 public static final String HASH_PASSWORD = "HashPassword";
488
489 public static final String CREATED = "Created";
490 public static final String NONCE = "Nonce";
491
492 public static final String MUST_NOT_SEND_CANCEL = "MustNotSendCancel";
493 public static final String MUST_NOT_SEND_AMEND = "MustNotSendAmend";
494 public static final String MUST_NOT_SEND_RENEW = "MustNotSendRenew";
495
496 public static final String ATT_OPTIONAL = "Optional";
497
498 public static final String ATT_IGNORABLE = "Ignorable";
499
500 public enum IncludeTokenType {
501 INCLUDE_TOKEN_NEVER,
502 INCLUDE_TOKEN_ONCE,
503 INCLUDE_TOKEN_ALWAYS_TO_RECIPIENT,
504 INCLUDE_TOKEN_ALWAYS_TO_INITIATOR,
505 INCLUDE_TOKEN_ALWAYS;
506
507 private static final Map<String, IncludeTokenType> LOOKUP = new HashMap<>();
508
509 static {
510 for (IncludeTokenType u : EnumSet.allOf(IncludeTokenType.class)) {
511 LOOKUP.put(u.name(), u);
512 }
513 }
514
515 public static IncludeTokenType lookUp(String name) {
516 return LOOKUP.get(name);
517 }
518 }
519
520 public abstract IncludeTokenType getInclusionFromAttributeValue(String value) throws IllegalArgumentException;
521
522 public abstract String getAttributeValueFromInclusion(IncludeTokenType value) throws IllegalArgumentException;
523
524 public abstract QName getIncludeToken();
525
526 public abstract QName getIssuer();
527
528 public abstract QName getIssuerName();
529
530 public abstract QName getClaims();
531
532 public abstract QName getX509Token();
533
534 public abstract QName getRequireIssuerSerialReference();
535
536 public abstract QName getRequireEmbeddedTokenReference();
537
538 public abstract QName getRequireThumbprintReference();
539
540 public abstract QName getHttpsToken();
541
542 public abstract QName getUsernameToken();
543
544 public abstract QName getCreated();
545
546 public abstract QName getNonce();
547
548 public abstract QName getIssuedToken();
549
550 public abstract QName getRequireExternalReference();
551
552 public abstract QName getRequireInternalReference();
553
554 public abstract QName getRequestSecurityTokenTemplate();
555
556 public abstract QName getKerberosToken();
557
558 public abstract QName getSpnegoContextToken();
559
560 public abstract QName getSecurityContextToken();
561
562 public abstract QName getRequireExternalUriReference();
563
564 public abstract QName getSc13SecurityContextToken();
565
566 public abstract QName getSc10SecurityContextToken();
567
568 public abstract QName getSecureConversationToken();
569
570 public abstract QName getMustNotSendCancel();
571
572 public abstract QName getMustNotSendAmend();
573
574 public abstract QName getMustNotSendRenew();
575
576 public abstract QName getBootstrapPolicy();
577
578 public abstract QName getSamlToken();
579
580 public abstract QName getRelToken();
581
582 public abstract QName getRequireKeyIdentifierReference();
583
584 public abstract QName getKeyValueToken();
585
586 public abstract QName getRsaKeyValue();
587
588 public abstract QName getSignedParts();
589
590 public abstract QName getSignedElements();
591
592 public abstract QName getXPathExpression();
593
594 public abstract QName getXPath2Expression();
595
596 public abstract QName getEncryptedParts();
597
598 public abstract QName getEncryptedElements();
599
600 public abstract QName getContentEncryptedElements();
601
602 public abstract QName getRequiredElements();
603
604 public abstract QName getRequiredParts();
605
606 public abstract QName getAlgorithmSuite();
607
608 public abstract QName getLayout();
609
610 public abstract QName getBody();
611
612 public abstract QName getAttachments();
613
614 public abstract QName getContentSignatureTransform();
615
616 public abstract QName getAttachmentCompleteSignatureTransform();
617
618 public abstract QName getHeader();
619
620 public abstract QName getEncryptSignature();
621
622 public abstract QName getProtectTokens();
623
624 public abstract QName getOnlySignEntireHeadersAndBody();
625
626 public abstract QName getTransportBinding();
627
628 public abstract QName getSymmetricBinding();
629
630 public abstract QName getAsymmetricBinding();
631
632 public abstract QName getEncryptionToken();
633
634 public abstract QName getSignatureToken();
635
636 public abstract QName getProtectionToken();
637
638 public abstract QName getTransportToken();
639
640 public abstract QName getInitiatorToken();
641
642 public abstract QName getInitiatorSignatureToken();
643
644 public abstract QName getInitiatorEncryptionToken();
645
646 public abstract QName getRecipientToken();
647
648 public abstract QName getRecipientSignatureToken();
649
650 public abstract QName getRecipientEncryptionToken();
651
652 public abstract QName getTrust10();
653
654 public abstract QName getTrust13();
655
656 public abstract QName getScopePolicy15();
657
658 public abstract QName getMustSupportClientChallenge();
659
660 public abstract QName getMustSupportServerChallenge();
661
662 public abstract QName getRequireClientEntropy();
663
664 public abstract QName getRequireServerEntropy();
665
666 public abstract QName getMustSupportIssuedTokens();
667
668 public abstract QName getRequireRequestSecurityTokenCollection();
669
670 public abstract QName getRequireAppliesTo();
671
672 public abstract QName getMustSupportInteractiveChallenge();
673
674 public abstract QName getWss10();
675
676 public abstract QName getMustSupportRefKeyIdentifier();
677
678 public abstract QName getMustSupportRefIssuerSerial();
679
680 public abstract QName getMustSupportRefExternalUri();
681
682 public abstract QName getMustSupportRefEmbeddedToken();
683
684 public abstract QName getWss11();
685
686 public abstract QName getMustSupportRefThumbprint();
687
688 public abstract QName getMustSupportRefEncryptedKey();
689
690 public abstract QName getRequireSignatureConfirmation();
691 }