< prev index next >

src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java

Print this page




   9  * regarding copyright ownership. The ASF licenses this file
  10  * to you under the Apache License, Version 2.0 (the
  11  * "License"); you may not use this file except in compliance
  12  * with the License. You may obtain a copy of the License at
  13  *
  14  * http://www.apache.org/licenses/LICENSE-2.0
  15  *
  16  * Unless required by applicable law or agreed to in writing,
  17  * software distributed under the License is distributed on an
  18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  19  * KIND, either express or implied. See the License for the
  20  * specific language governing permissions and limitations
  21  * under the License.
  22  */
  23 package com.sun.org.apache.xml.internal.security.encryption;
  24 
  25 import java.util.Iterator;
  26 import org.w3c.dom.Element;
  27 
  28 /**
  29  * <code>EncryptionMethod</code> describes the encryption algorithm applied to
  30  * the cipher data. If the element is absent, the encryption algorithm must be
  31  * known by the recipient or the decryption will fail.
  32  * <p>
  33  * It is defined as follows:
  34  * <xmp>
  35  * <complexType name='EncryptionMethodType' mixed='true'>
  36  *     <sequence>
  37  *         <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
  38  *         <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
  39  *         <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
  40  *     </sequence>
  41  *     <attribute name='Algorithm' type='anyURI' use='required'/>
  42  * </complexType>
  43  * </xmp>
  44  *
  45  * @author Axl Mattheus
  46  */
  47 public interface EncryptionMethod {
  48     /**
  49      * Returns the algorithm applied to the cipher data.
  50      *
  51      * @return the encryption algorithm.
  52      */
  53     String getAlgorithm();
  54 
  55     /**
  56      * Returns the key size of the key of the algorithm applied to the cipher
  57      * data.
  58      *
  59      * @return the key size.
  60      */
  61     int getKeySize();
  62 
  63     /**


  91     /**
  92      * Get the Digest Algorithm to use
  93      * @return the Digest Algorithm to use
  94      */
  95     String getDigestAlgorithm();
  96 
  97     /**
  98      * Set the MGF Algorithm to use
  99      * @param mgfAlgorithm the MGF Algorithm to use
 100      */
 101     void setMGFAlgorithm(String mgfAlgorithm);
 102 
 103     /**
 104      * Get the MGF Algorithm to use
 105      * @return the MGF Algorithm to use
 106      */
 107     String getMGFAlgorithm();
 108 
 109     /**
 110      * Returns an iterator over all the additional elements contained in the
 111      * <code>EncryptionMethod</code>.
 112      *
 113      * @return an <code>Iterator</code> over all the additional information
 114      *   about the <code>EncryptionMethod</code>.
 115      */
 116     Iterator<Element> getEncryptionMethodInformation();
 117 
 118     /**
 119      * Adds encryption method information.
 120      *
 121      * @param information additional encryption method information.
 122      */
 123     void addEncryptionMethodInformation(Element information);
 124 
 125     /**
 126      * Removes encryption method information.
 127      *
 128      * @param information the information to remove from the
 129      *   <code>EncryptionMethod</code>.
 130      */
 131     void removeEncryptionMethodInformation(Element information);
 132 }


   9  * regarding copyright ownership. The ASF licenses this file
  10  * to you under the Apache License, Version 2.0 (the
  11  * "License"); you may not use this file except in compliance
  12  * with the License. You may obtain a copy of the License at
  13  *
  14  * http://www.apache.org/licenses/LICENSE-2.0
  15  *
  16  * Unless required by applicable law or agreed to in writing,
  17  * software distributed under the License is distributed on an
  18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  19  * KIND, either express or implied. See the License for the
  20  * specific language governing permissions and limitations
  21  * under the License.
  22  */
  23 package com.sun.org.apache.xml.internal.security.encryption;
  24 
  25 import java.util.Iterator;
  26 import org.w3c.dom.Element;
  27 
  28 /**
  29  * {@code EncryptionMethod} describes the encryption algorithm applied to
  30  * the cipher data. If the element is absent, the encryption algorithm must be
  31  * known by the recipient or the decryption will fail.
  32  * <p>
  33  * It is defined as follows:
  34  * <pre>{@code
  35  * <complexType name='EncryptionMethodType' mixed='true'>
  36  *     <sequence>
  37  *         <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
  38  *         <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
  39  *         <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
  40  *     </sequence>
  41  *     <attribute name='Algorithm' type='anyURI' use='required'/>
  42  * </complexType>
  43  * }</pre>
  44  *
  45  * @author Axl Mattheus
  46  */
  47 public interface EncryptionMethod {
  48     /**
  49      * Returns the algorithm applied to the cipher data.
  50      *
  51      * @return the encryption algorithm.
  52      */
  53     String getAlgorithm();
  54 
  55     /**
  56      * Returns the key size of the key of the algorithm applied to the cipher
  57      * data.
  58      *
  59      * @return the key size.
  60      */
  61     int getKeySize();
  62 
  63     /**


  91     /**
  92      * Get the Digest Algorithm to use
  93      * @return the Digest Algorithm to use
  94      */
  95     String getDigestAlgorithm();
  96 
  97     /**
  98      * Set the MGF Algorithm to use
  99      * @param mgfAlgorithm the MGF Algorithm to use
 100      */
 101     void setMGFAlgorithm(String mgfAlgorithm);
 102 
 103     /**
 104      * Get the MGF Algorithm to use
 105      * @return the MGF Algorithm to use
 106      */
 107     String getMGFAlgorithm();
 108 
 109     /**
 110      * Returns an iterator over all the additional elements contained in the
 111      * {@code EncryptionMethod}.
 112      *
 113      * @return an {@code Iterator} over all the additional information
 114      *   about the {@code EncryptionMethod}.
 115      */
 116     Iterator<Element> getEncryptionMethodInformation();
 117 
 118     /**
 119      * Adds encryption method information.
 120      *
 121      * @param information additional encryption method information.
 122      */
 123     void addEncryptionMethodInformation(Element information);
 124 
 125     /**
 126      * Removes encryption method information.
 127      *
 128      * @param information the information to remove from the
 129      *   {@code EncryptionMethod}.
 130      */
 131     void removeEncryptionMethodInformation(Element information);
 132 }
< prev index next >