jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java
changeset 25859 3317bb8137f4
parent 22100 b5238ea86488
equal deleted inserted replaced
25858:836adbf7a2cd 25859:3317bb8137f4
       
     1 /*
       
     2  * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.  Oracle designates this
       
     8  * particular file as subject to the "Classpath" exception as provided
       
     9  * by Oracle in the LICENSE file that accompanied this code.
       
    10  *
       
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14  * version 2 for more details (a copy is included in the LICENSE file that
       
    15  * accompanied this code).
       
    16  *
       
    17  * You should have received a copy of the GNU General Public License version
       
    18  * 2 along with this work; if not, write to the Free Software Foundation,
       
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20  *
       
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22  * or visit www.oracle.com if you need additional information or have any
       
    23  * questions.
       
    24  */
       
    25 /*
       
    26  * $Id: DigestMethod.java,v 1.6 2005/05/10 16:03:46 mullan Exp $
       
    27  */
       
    28 package javax.xml.crypto.dsig;
       
    29 
       
    30 import javax.xml.crypto.AlgorithmMethod;
       
    31 import javax.xml.crypto.XMLStructure;
       
    32 import javax.xml.crypto.dsig.spec.DigestMethodParameterSpec;
       
    33 import java.security.spec.AlgorithmParameterSpec;
       
    34 
       
    35 /**
       
    36  * A representation of the XML <code>DigestMethod</code> element as
       
    37  * defined in the <a href="http://www.w3.org/TR/xmldsig-core/">
       
    38  * W3C Recommendation for XML-Signature Syntax and Processing</a>.
       
    39  * The XML Schema Definition is defined as:
       
    40  * <pre>
       
    41  *   &lt;element name="DigestMethod" type="ds:DigestMethodType"/&gt;
       
    42  *     &lt;complexType name="DigestMethodType" mixed="true"&gt;
       
    43  *       &lt;sequence&gt;
       
    44  *         &lt;any namespace="##any" minOccurs="0" maxOccurs="unbounded"/&gt;
       
    45  *           &lt;!-- (0,unbounded) elements from (1,1) namespace --&gt;
       
    46  *       &lt;/sequence&gt;
       
    47  *       &lt;attribute name="Algorithm" type="anyURI" use="required"/&gt;
       
    48  *     &lt;/complexType&gt;
       
    49  * </pre>
       
    50  *
       
    51  * A <code>DigestMethod</code> instance may be created by invoking the
       
    52  * {@link XMLSignatureFactory#newDigestMethod newDigestMethod} method
       
    53  * of the {@link XMLSignatureFactory} class.
       
    54  *
       
    55  * @author Sean Mullan
       
    56  * @author JSR 105 Expert Group
       
    57  * @since 1.6
       
    58  * @see XMLSignatureFactory#newDigestMethod(String, DigestMethodParameterSpec)
       
    59  */
       
    60 public interface DigestMethod extends XMLStructure, AlgorithmMethod {
       
    61 
       
    62     /**
       
    63      * The <a href="http://www.w3.org/2000/09/xmldsig#sha1">
       
    64      * SHA1</a> digest method algorithm URI.
       
    65      */
       
    66     static final String SHA1 = "http://www.w3.org/2000/09/xmldsig#sha1";
       
    67 
       
    68     /**
       
    69      * The <a href="http://www.w3.org/2001/04/xmlenc#sha256">
       
    70      * SHA256</a> digest method algorithm URI.
       
    71      */
       
    72     static final String SHA256 = "http://www.w3.org/2001/04/xmlenc#sha256";
       
    73 
       
    74     /**
       
    75      * The <a href="http://www.w3.org/2001/04/xmlenc#sha512">
       
    76      * SHA512</a> digest method algorithm URI.
       
    77      */
       
    78     static final String SHA512 = "http://www.w3.org/2001/04/xmlenc#sha512";
       
    79 
       
    80     /**
       
    81      * The <a href="http://www.w3.org/2001/04/xmlenc#ripemd160">
       
    82      * RIPEMD-160</a> digest method algorithm URI.
       
    83      */
       
    84     static final String RIPEMD160 = "http://www.w3.org/2001/04/xmlenc#ripemd160";
       
    85 
       
    86     /**
       
    87      * Returns the algorithm-specific input parameters associated with this
       
    88      * <code>DigestMethod</code>.
       
    89      *
       
    90      * <p>The returned parameters can be typecast to a {@link
       
    91      * DigestMethodParameterSpec} object.
       
    92      *
       
    93      * @return the algorithm-specific parameters (may be <code>null</code> if
       
    94      *    not specified)
       
    95      */
       
    96     AlgorithmParameterSpec getParameterSpec();
       
    97 }