public abstract class org.jcp.xml.dsig.internal.dom.DOMSignatureMethod extends org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
super_class: org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
{
private static java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec params;
descriptor: Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
flags: (0x0002) ACC_PRIVATE
private java.security.Signature signature;
descriptor: Ljava/security/Signature;
flags: (0x0002) ACC_PRIVATE
static final java.lang.String RSA_SHA256;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
static final java.lang.String RSA_SHA384;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
static final java.lang.String RSA_SHA512;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
static final java.lang.String ECDSA_SHA1;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"
static final java.lang.String ECDSA_SHA256;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"
static final java.lang.String ECDSA_SHA384;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384"
static final java.lang.String ECDSA_SHA512;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512"
static final java.lang.String DSA_SHA256;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2009/xmldsig11#dsa-sha256"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "org.jcp.xml.dsig.internal.dom"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
1: putstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
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.AbstractDOMSignatureMethod.<init>:()V
1: aload 1
ifnull 6
2: aload 1
instanceof javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
ifne 6
3: new java.security.InvalidAlgorithmParameterException
dup
4: ldc "params must be of type SignatureMethodParameterSpec"
5: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.spec.AlgorithmParameterSpec
StackMap stack:
aload 0
aload 1
checkcast javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)V
7: aload 0
aload 1
checkcast javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 9 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.AbstractDOMSignatureMethod.<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.DOMSignatureMethod.unmarshalParams:(Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
4: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod org.w3c.dom.Element org.w3c.dom.Element
StackMap stack:
aload 0
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)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/DOMSignatureMethod;
0 9 1 smElem 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
smElem
abstract byte[] postSignFormat(java.security.Key, byte[]);
descriptor: (Ljava/security/Key;[B)[B
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
key
sig
abstract byte[] preVerifyFormat(java.security.Key, byte[]);
descriptor: (Ljava/security/Key;[B)[B
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
key
sig
static javax.xml.crypto.dsig.SignatureMethod unmarshal(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/SignatureMethod;
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#rsa-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
7: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
9: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2000/09/xmldsig#dsa-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
11: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2009/xmldsig11#dsa-sha256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
13: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
15: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
17: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
19: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA.<init>:(Lorg/w3c/dom/Element;)V
areturn
21: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2000/09/xmldsig#hmac-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1.<init>:(Lorg/w3c/dom/Element;)V
areturn
23: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256.<init>:(Lorg/w3c/dom/Element;)V
areturn
25: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
26: new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384.<init>:(Lorg/w3c/dom/Element;)V
areturn
27: StackMap locals:
StackMap stack:
aload 1
ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512
dup
aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512.<init>:(Lorg/w3c/dom/Element;)V
areturn
29: StackMap locals:
StackMap stack:
new javax.xml.crypto.MarshalException
dup
30: new java.lang.StringBuilder
dup
ldc "unsupported SignatureMethod algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 smElem Lorg/w3c/dom/Element;
1 32 1 alg Ljava/lang/String;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
smElem
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.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
java.security.Signature getSignature(java.security.Provider);
descriptor: (Ljava/security/Provider;)Ljava/security/Signature;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
aload 1
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
3: StackMap locals:
StackMap stack: java.security.Signature
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 4 1 p Ljava/security/Provider;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
p
boolean verify(java.security.Key, javax.xml.crypto.dsig.SignedInfo, byte[], javax.xml.crypto.dsig.XMLValidateContext);
descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;[BLjavax/xml/crypto/dsig/XMLValidateContext;)Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnull 1
aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.PublicKey
ifne 4
3: new java.security.InvalidKeyException
dup
ldc "key must be PublicKey"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 4
aload 1
invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkKeySize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
ifnonnull 13
6: aload 4
7: ldc "org.jcp.xml.dsig.internal.dom.SignatureProvider"
8: invokeinterface javax.xml.crypto.dsig.XMLValidateContext.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.Provider
astore 5
start local 5 9: aload 0
aload 0
aload 5
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignature:(Ljava/security/Provider;)Ljava/security/Signature;
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
10: goto 13
StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext java.security.Provider
StackMap stack: java.security.NoSuchAlgorithmException
11: astore 6
start local 6 12: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 6
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 13: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
aload 1
checkcast java.security.PublicKey
invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
14: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 19
15: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
16: new java.lang.StringBuilder
dup
ldc "Signature provider:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
18: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "verifying with key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 2
checkcast org.jcp.xml.dsig.internal.dom.DOMSignedInfo
aload 4
20: new org.jcp.xml.dsig.internal.SignerOutputStream
dup
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokespecial org.jcp.xml.dsig.internal.SignerOutputStream.<init>:(Ljava/security/Signature;)V
21: invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
22: aload 0
aload 1
aload 3
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.preVerifyFormat:(Ljava/security/Key;[B)[B
astore 5
start local 5 23: goto 26
end local 5 StackMap locals:
StackMap stack: java.io.IOException
24: astore 6
start local 6 25: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 6
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 start local 5 26: StackMap locals: byte[]
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
aload 5
invokevirtual java.security.Signature.verify:([B)Z
ireturn
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 27 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 27 1 key Ljava/security/Key;
0 27 2 si Ljavax/xml/crypto/dsig/SignedInfo;
0 27 3 sig [B
0 27 4 context Ljavax/xml/crypto/dsig/XMLValidateContext;
9 13 5 p Ljava/security/Provider;
12 13 6 nsae Ljava/security/NoSuchAlgorithmException;
23 24 5 s [B
26 27 5 s [B
25 26 6 ioe Ljava/io/IOException;
Exception table:
from to target type
9 10 11 Class java.security.NoSuchAlgorithmException
22 23 24 Class java.io.IOException
Exceptions:
throws java.security.InvalidKeyException, java.security.SignatureException, javax.xml.crypto.dsig.XMLSignatureException
MethodParameters:
Name Flags
key
si
sig
context
private static void checkKeySize(javax.xml.crypto.XMLCryptoContext, java.security.Key);
descriptor: (Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
ifeq 14
1: aload 1
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 8
3: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 7
4: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Size for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 1
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " key cannot be determined"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
7: StackMap locals: int
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
iload 2
invokestatic org.jcp.xml.dsig.internal.dom.Policy.restrictKey:(Ljava/lang/String;I)Z
ifeq 14
9: new javax.xml.crypto.dsig.XMLSignatureException
dup
new java.lang.StringBuilder
dup
aload 1
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: ldc " keys less than "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 1
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
invokestatic org.jcp.xml.dsig.internal.dom.Policy.minKeySize:(Ljava/lang/String;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits are"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " forbidden when secure validation is enabled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 context Ljavax/xml/crypto/XMLCryptoContext;
0 15 1 key Ljava/security/Key;
2 14 2 size I
Exceptions:
throws javax.xml.crypto.dsig.XMLSignatureException
MethodParameters:
Name Flags
context
key
byte[] sign(java.security.Key, javax.xml.crypto.dsig.SignedInfo, javax.xml.crypto.dsig.XMLSignContext);
descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/XMLSignContext;)[B
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.PrivateKey
ifne 4
3: new java.security.InvalidKeyException
dup
ldc "key must be PrivateKey"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
aload 1
invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkKeySize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
ifnonnull 13
6: aload 3
7: ldc "org.jcp.xml.dsig.internal.dom.SignatureProvider"
8: invokeinterface javax.xml.crypto.dsig.XMLSignContext.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.Provider
astore 4
start local 4 9: aload 0
aload 0
aload 4
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignature:(Ljava/security/Provider;)Ljava/security/Signature;
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
10: goto 13
StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo javax.xml.crypto.dsig.XMLSignContext java.security.Provider
StackMap stack: java.security.NoSuchAlgorithmException
11: astore 5
start local 5 12: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 5
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
aload 1
checkcast java.security.PrivateKey
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
14: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 19
15: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
16: new java.lang.StringBuilder
dup
ldc "Signature provider:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
18: getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Signing with key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 2
checkcast org.jcp.xml.dsig.internal.dom.DOMSignedInfo
aload 3
20: new org.jcp.xml.dsig.internal.SignerOutputStream
dup
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokespecial org.jcp.xml.dsig.internal.SignerOutputStream.<init>:(Ljava/security/Signature;)V
21: invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
22: aload 0
aload 1
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokevirtual java.security.Signature.sign:()[B
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.postSignFormat:(Ljava/security/Key;[B)[B
23: areturn
24: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 25: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 4
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 26 1 key Ljava/security/Key;
0 26 2 si Ljavax/xml/crypto/dsig/SignedInfo;
0 26 3 context Ljavax/xml/crypto/dsig/XMLSignContext;
9 13 4 p Ljava/security/Provider;
12 13 5 nsae Ljava/security/NoSuchAlgorithmException;
25 26 4 ex Ljava/lang/Exception;
Exception table:
from to target type
9 10 11 Class java.security.NoSuchAlgorithmException
22 23 24 Class java.security.SignatureException
22 23 24 Class java.io.IOException
Exceptions:
throws java.security.InvalidKeyException, javax.xml.crypto.dsig.XMLSignatureException
MethodParameters:
Name Flags
key
si
context
public int hashCode();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.hashCode:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
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: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws javax.xml.crypto.MarshalException
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.equals:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DOMSignatureMethod.java"
NestMembers:
org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractDSASignatureMethod org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractECDSASignatureMethod org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractP1363FormatSignatureMethod org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSASignatureMethod org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA
InnerClasses:
final SHA1 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
final SHA256 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
final SHA384 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
final SHA512 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
abstract AbstractDSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractDSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
abstract AbstractECDSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractECDSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
abstract AbstractP1363FormatSignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractP1363FormatSignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
abstract AbstractRSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA1withDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA1withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA1withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA256withDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA256withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA256withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA384withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA384withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA512withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
final SHA512withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod