public abstract class org.jcp.xml.dsig.internal.dom.DOMDigestMethod extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.DigestMethod
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jcp.xml.dsig.internal.dom.DOMDigestMethod
super_class: org.jcp.xml.dsig.internal.dom.DOMStructure
{
static final java.lang.String SHA384;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#sha384"
private javax.xml.crypto.dsig.spec.DigestMethodParameterSpec params;
descriptor: Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
flags: (0x0002) ACC_PRIVATE
void <init>(java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
1: aload 1
ifnull 5
aload 1
instanceof javax.xml.crypto.dsig.spec.DigestMethodParameterSpec
ifne 5
2: new java.security.InvalidAlgorithmParameterException
dup
3: ldc "params must be of type DigestMethodParameterSpec"
4: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMDigestMethod java.security.spec.AlgorithmParameterSpec
StackMap stack:
aload 0
aload 1
checkcast javax.xml.crypto.dsig.spec.DigestMethodParameterSpec
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;)V
6: aload 0
aload 1
checkcast javax.xml.crypto.dsig.spec.DigestMethodParameterSpec
putfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 8 1 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
void <init>(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
1: aload 1
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 0
aload 0
aload 2
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.unmarshalParams:(Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
putfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
4: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMDigestMethod org.w3c.dom.Element org.w3c.dom.Element
StackMap stack:
aload 0
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;)V
5: goto 8
StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
6: astore 3
start local 3 7: new javax.xml.crypto.MarshalException
dup
aload 3
invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 9 1 dmElem Lorg/w3c/dom/Element;
2 9 2 paramsElem Lorg/w3c/dom/Element;
7 8 3 iape Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
4 5 6 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
dmElem
static javax.xml.crypto.dsig.DigestMethod unmarshal(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/DigestMethod;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "Algorithm"
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getAttributeValue:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "http://www.w3.org/2000/09/xmldsig#sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: new org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA1
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA1.<init>:(Lorg/w3c/dom/Element;)V
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmlenc#sha256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA256
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA256.<init>:(Lorg/w3c/dom/Element;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#sha384"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA384
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA384.<init>:(Lorg/w3c/dom/Element;)V
areturn
7: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmlenc#sha512"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA512
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA512.<init>:(Lorg/w3c/dom/Element;)V
areturn
9: StackMap locals:
StackMap stack:
new javax.xml.crypto.MarshalException
dup
new java.lang.StringBuilder
dup
ldc "unsupported DigestMethod algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 dmElem Lorg/w3c/dom/Element;
1 12 1 alg Ljava/lang/String;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
dmElem
void checkParams(javax.xml.crypto.dsig.spec.DigestMethodParameterSpec);
descriptor: (Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
ldc "no parameters should be specified for the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getMessageDigestAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " DigestMethod algorithm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 6 1 params Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
public final java.security.spec.AlgorithmParameterSpec getParameterSpec();
descriptor: ()Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
javax.xml.crypto.dsig.spec.DigestMethodParameterSpec unmarshalParams(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new javax.xml.crypto.MarshalException
dup
new java.lang.StringBuilder
dup
ldc "no parameters should be specified for the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getMessageDigestAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " DigestMethod algorithm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 4 1 paramsElem Lorg/w3c/dom/Element;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
paramsElem
public void marshal(org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
descriptor: (Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
astore 4
start local 4 1: aload 4
ldc "DigestMethod"
2: ldc "http://www.w3.org/2000/09/xmldsig#"
aload 2
3: invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 5
start local 5 4: aload 5
ldc "Algorithm"
aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getAlgorithm:()Ljava/lang/String;
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttribute:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
ifnull 7
6: aload 0
aload 5
aload 2
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.marshalParams:(Lorg/w3c/dom/Element;Ljava/lang/String;)V
7: StackMap locals: org.w3c.dom.Document org.w3c.dom.Element
StackMap stack:
aload 1
aload 5
invokeinterface org.w3c.dom.Node.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 9 1 parent Lorg/w3c/dom/Node;
0 9 2 prefix Ljava/lang/String;
0 9 3 context Ljavax/xml/crypto/dom/DOMCryptoContext;
1 9 4 ownerDoc Lorg/w3c/dom/Document;
4 9 5 dmElem Lorg/w3c/dom/Element;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
parent
prefix
context
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof javax.xml.crypto.dsig.DigestMethod
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.xml.crypto.dsig.DigestMethod
astore 2
start local 2 5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
ifnonnull 7
aload 2
invokeinterface javax.xml.crypto.dsig.DigestMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
ifnonnull 6
iconst_1
goto 8
StackMap locals: javax.xml.crypto.dsig.DigestMethod
StackMap stack:
6: iconst_0
goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
aload 2
invokeinterface javax.xml.crypto.dsig.DigestMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
8: StackMap locals:
StackMap stack: int
istore 3
start local 3 9: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getAlgorithm:()Ljava/lang/String;
aload 2
invokeinterface javax.xml.crypto.dsig.DigestMethod.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
iload 3
ifeq 10
iconst_1
ireturn
StackMap locals: int
StackMap stack:
10: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 11 1 o Ljava/lang/Object;
5 11 2 odm Ljavax/xml/crypto/dsig/DigestMethod;
9 11 3 paramsEqual Z
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 17
istore 1
start local 1 1: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
ifnull 3
2: bipush 31
iload 1
imul
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMDigestMethod.params:Ljavax/xml/crypto/dsig/spec/DigestMethodParameterSpec;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
3: StackMap locals: int
StackMap stack:
bipush 31
iload 1
imul
aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
4: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
1 5 1 result I
void marshalParams(org.w3c.dom.Element, java.lang.String);
descriptor: (Lorg/w3c/dom/Element;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new javax.xml.crypto.MarshalException
dup
new java.lang.StringBuilder
dup
ldc "no parameters should be specified for the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMDigestMethod.getMessageDigestAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " DigestMethod algorithm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jcp/xml/dsig/internal/dom/DOMDigestMethod;
0 4 1 parent Lorg/w3c/dom/Element;
0 4 2 prefix Ljava/lang/String;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
parent
prefix
abstract java.lang.String getMessageDigestAlgorithm();
descriptor: ()Ljava/lang/String;
flags: (0x0400) ACC_ABSTRACT
}
SourceFile: "DOMDigestMethod.java"
NestMembers:
org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA1 org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA256 org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA384 org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA512
InnerClasses:
final SHA1 = org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA1 of org.jcp.xml.dsig.internal.dom.DOMDigestMethod
final SHA256 = org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA256 of org.jcp.xml.dsig.internal.dom.DOMDigestMethod
final SHA384 = org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA384 of org.jcp.xml.dsig.internal.dom.DOMDigestMethod
final SHA512 = org.jcp.xml.dsig.internal.dom.DOMDigestMethod$SHA512 of org.jcp.xml.dsig.internal.dom.DOMDigestMethod