View Javadoc

1   /*
2    * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.opensaml.xml.signature;
18  
19  import java.util.List;
20  
21  import javax.xml.namespace.QName;
22  
23  import org.opensaml.xml.XMLObject;
24  import org.opensaml.xml.security.credential.Credential;
25  import org.opensaml.xml.util.XMLConstants;
26  
27  /**
28   * XMLObject representing an enveloped or detached XML Digital Signature, version 20020212, Signature element.
29   */
30  public interface Signature extends XMLObject {
31  
32      /** Element local name. */
33      public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Signature";
34  
35      /** Default element name. */
36      public static final QName DEFAULT_ELEMENT_NAME = new QName(XMLConstants.XMLSIG_NS, DEFAULT_ELEMENT_LOCAL_NAME,
37              XMLConstants.XMLSIG_PREFIX);
38  
39      /** Local name of the XSI type. */
40      public static final String TYPE_LOCAL_NAME = "SignatureType";
41  
42      /** QName of the XSI type. */
43      public static final QName TYPE_NAME = new QName(XMLConstants.XMLSIG_NS, TYPE_LOCAL_NAME, 
44              XMLConstants.XMLSIG_PREFIX);
45  
46      /**
47       * Gets the canonicalization algorithm used to create the signature content.
48       * 
49       * @return the canonicalization algorithm used to create the signature content
50       */
51      public String getCanonicalizationAlgorithm();
52  
53      /**
54       * Sets the canonicalization algorithm used to create the signature content.
55       * 
56       * @param newAlgorithm the canonicalization algorithm used to create the signature content
57       */
58      public void setCanonicalizationAlgorithm(String newAlgorithm);
59  
60      /**
61       * Gets the algorithm used to compute the signature.
62       * 
63       * @return the algorithm used to compute the signature
64       */
65      public String getSignatureAlgorithm();
66  
67      /**
68       * Sets the algorithm used to compute the signature.
69       * 
70       * @param newAlgorithm the algorithm used to compute the signature
71       */
72      public void setSignatureAlgorithm(String newAlgorithm);
73      
74      /**
75       * Gets the HMAC output length value, optionally used when signing
76       * with an HMAC signature algorithm.
77       * 
78       * @return the HMACOutputLength value
79       */
80      public Integer getHMACOutputLength();
81      
82      /**
83       * Sets the HMAC output length value, optionally used when signing
84       * with an HMAC signature algorithm.
85       * 
86       * @param length the new HMACOutputLength value
87       */
88      public void setHMACOutputLength(Integer length);
89  
90      /**
91       * Gets the signature signing credential.
92       * 
93       * @return the signature signing credential
94       */
95      public Credential getSigningCredential();
96  
97      /**
98       * Sets the signature signing credential.
99       * 
100      * @param newCredential the signature signing credential
101      */
102     public void setSigningCredential(Credential newCredential);
103 
104     /**
105      * Gets the key info added to this signature.
106      * 
107      * @return the key info added to this signature
108      */
109     public KeyInfo getKeyInfo();
110 
111     /**
112      * Sets the key info added to this signature.
113      * 
114      * @param newKeyInfo the key info added to this signature
115      */
116     public void setKeyInfo(KeyInfo newKeyInfo);
117 
118     /**
119      * Gets the list of signature content references.
120      * 
121      * @return the list of signature content references
122      */
123     public List<ContentReference> getContentReferences();
124 }