public abstract class org.jcp.xml.dsig.internal.dom.DOMSignatureMethod extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.SignatureMethod
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.DOMStructure
{
private static java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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 HMAC_SHA256;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
static final java.lang.String HMAC_SHA384;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
static final java.lang.String HMAC_SHA512;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
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 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.DOMStructure.<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>(Element);
descriptor: (LElement;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tThe type DOMSignatureMethod.SHA1withRSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tElement cannot be resolved to a type\n\tThe type DOMSignatureMethod.SHA256withRSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tElement cannot be resolved to a type\n\tThe type DOMSignatureMethod.SHA384withRSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tElement cannot be resolved to a type\n\tThe type DOMSignatureMethod.SHA512withRSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tElement cannot be resolved to a type\n\tThe type DOMSignatureMethod.SHA1withDSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tElement cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
smElem
static javax.xml.crypto.dsig.SignatureMethod unmarshal(Element);
descriptor: (LElement;)Ljavax/xml/crypto/dsig/SignatureMethod;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tElement cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
smElem
void checkParams(javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec);
descriptor: (Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)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.DOMSignatureMethod.getSignatureAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " SignatureMethod 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/DOMSignatureMethod;
0 6 1 params Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
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.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;
javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec unmarshalParams(Element);
descriptor: (LElement;)Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tElement cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
paramsElem
public void marshal(Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
descriptor: (LNode;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
parent
dsPrefix
context
boolean verify(java.security.Key, org.jcp.xml.dsig.internal.dom.DOMSignedInfo, byte[], javax.xml.crypto.dsig.XMLValidateContext);
descriptor: (Ljava/security/Key;Lorg/jcp/xml/dsig/internal/dom/DOMSignedInfo;[BLjavax/xml/crypto/dsig/XMLValidateContext;)Z
flags: (0x0000)
Code:
stack=5, locals=6, 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 16
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 5
ifnonnull 11
10: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignatureAlgorithm:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
goto 12
11: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext java.security.Provider
StackMap stack: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignatureAlgorithm:()Ljava/lang/String;
aload 5
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
12: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext java.security.Provider
StackMap stack: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Signature
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
end local 5 13: goto 16
StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext
StackMap stack: java.security.NoSuchAlgorithmException
14: astore 5
start local 5 15: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 5
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 16: 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
17: 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 20
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 "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;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
19: 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
20: StackMap locals:
StackMap stack:
aload 2
aload 4
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
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
21: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
ldc "http://www.w3.org/2000/09/xmldsig#dsa-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
22: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
aload 3
invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.convertXMLDSIGtoASN1:([B)[B
invokevirtual java.security.Signature.verify:([B)Z
23: ireturn
24: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 25: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 5
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 26: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
aload 3
invokevirtual java.security.Signature.verify:([B)Z
ireturn
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 Lorg/jcp/xml/dsig/internal/dom/DOMSignedInfo;
0 27 3 sig [B
0 27 4 context Ljavax/xml/crypto/dsig/XMLValidateContext;
9 13 5 p Ljava/security/Provider;
15 16 5 nsae Ljava/security/NoSuchAlgorithmException;
25 26 5 ioe Ljava/io/IOException;
Exception table:
from to target type
6 13 14 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, org.jcp.xml.dsig.internal.dom.DOMSignedInfo, javax.xml.crypto.dsig.XMLSignContext);
descriptor: (Ljava/security/Key;Lorg/jcp/xml/dsig/internal/dom/DOMSignedInfo;Ljavax/xml/crypto/dsig/XMLSignContext;)[B
flags: (0x0000)
Code:
stack=5, locals=5, 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 16
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 4
ifnonnull 11
10: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignatureAlgorithm:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
goto 12
11: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo javax.xml.crypto.dsig.XMLSignContext java.security.Provider
StackMap stack: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignatureAlgorithm:()Ljava/lang/String;
aload 4
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
12: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo javax.xml.crypto.dsig.XMLSignContext java.security.Provider
StackMap stack: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Signature
putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
end local 4 13: goto 16
StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key org.jcp.xml.dsig.internal.dom.DOMSignedInfo javax.xml.crypto.dsig.XMLSignContext
StackMap stack: java.security.NoSuchAlgorithmException
14: astore 4
start local 4 15: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 4
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 16: 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
17: 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 20
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 "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;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
19: 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
20: StackMap locals:
StackMap stack:
aload 2
aload 3
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
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
21: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
ldc "http://www.w3.org/2000/09/xmldsig#dsa-sha1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokevirtual java.security.Signature.sign:()[B
invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.convertASN1toXMLDSIG:([B)[B
23: areturn
24: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
invokevirtual java.security.Signature.sign:()[B
25: areturn
26: StackMap locals:
StackMap stack: java.security.SignatureException
astore 4
start local 4 27: new javax.xml.crypto.dsig.XMLSignatureException
dup
aload 4
invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 28: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 29: 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 30 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 30 1 key Ljava/security/Key;
0 30 2 si Lorg/jcp/xml/dsig/internal/dom/DOMSignedInfo;
0 30 3 context Ljavax/xml/crypto/dsig/XMLSignContext;
9 13 4 p Ljava/security/Provider;
15 16 4 nsae Ljava/security/NoSuchAlgorithmException;
27 28 4 se Ljava/security/SignatureException;
29 30 4 ioe Ljava/io/IOException;
Exception table:
from to target type
6 13 14 Class java.security.NoSuchAlgorithmException
21 23 26 Class java.security.SignatureException
24 25 26 Class java.security.SignatureException
21 23 28 Class java.io.IOException
24 25 28 Class java.io.IOException
Exceptions:
throws java.security.InvalidKeyException, javax.xml.crypto.dsig.XMLSignatureException
MethodParameters:
Name Flags
key
si
context
void marshalParams(Element, java.lang.String);
descriptor: (LElement;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tElement cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
parent
paramsPrefix
abstract java.lang.String getSignatureAlgorithm();
descriptor: ()Ljava/lang/String;
flags: (0x0400) ACC_ABSTRACT
boolean paramsEqual(java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
0 2 1 spec Ljava/security/spec/AlgorithmParameterSpec;
MethodParameters:
Name Flags
spec
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, 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.SignatureMethod
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.xml.crypto.dsig.SignatureMethod
astore 2
start local 2 5: aload 0
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
aload 2
invokeinterface javax.xml.crypto.dsig.SignatureMethod.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
aload 2
invokeinterface javax.xml.crypto.dsig.SignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.paramsEqual:(Ljava/security/spec/AlgorithmParameterSpec;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: javax.xml.crypto.dsig.SignatureMethod
StackMap stack:
8: iconst_0
ireturn
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 o Ljava/lang/Object;
5 9 2 osm Ljavax/xml/crypto/dsig/SignatureMethod;
MethodParameters:
Name Flags
o
private static byte[] convertASN1toXMLDSIG(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
iconst_3
baload
istore 1
start local 1 1: iload 1
istore 2
start local 2 2: goto 4
StackMap locals: int int
StackMap stack:
3: iinc 2 -1
StackMap locals:
StackMap stack:
4: iload 2
ifle 5
aload 0
iconst_4
iload 1
iadd
iload 2
isub
baload
ifeq 3
5: StackMap locals:
StackMap stack:
aload 0
iconst_5
iload 1
iadd
baload
istore 3
start local 3 6: iload 3
istore 4
start local 4 7: goto 9
StackMap locals: int int
StackMap stack:
8: iinc 4 -1
StackMap locals:
StackMap stack:
9: iload 4
ifle 10
aload 0
bipush 6
iload 1
iadd
iload 3
iadd
iload 4
isub
baload
ifeq 8
10: StackMap locals:
StackMap stack:
aload 0
iconst_0
baload
bipush 48
if_icmpne 13
aload 0
iconst_1
baload
aload 0
arraylength
iconst_2
isub
if_icmpne 13
11: aload 0
iconst_2
baload
iconst_2
if_icmpne 13
iload 2
bipush 20
if_icmpgt 13
12: aload 0
iconst_4
iload 1
iadd
baload
iconst_2
if_icmpne 13
iload 4
bipush 20
if_icmple 14
13: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Invalid ASN.1 format of DSA signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
bipush 40
newarray 8
astore 5
start local 5 15: aload 0
iconst_4
iload 1
iadd
iload 2
isub
aload 5
bipush 20
iload 2
isub
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 0
bipush 6
iload 1
iadd
iload 3
iadd
iload 4
isub
aload 5
17: bipush 40
iload 4
isub
iload 4
18: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 5
areturn
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 20 0 asn1Bytes [B
1 20 1 rLength B
2 20 2 i I
6 20 3 sLength B
7 20 4 j I
15 20 5 xmldsigBytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
asn1Bytes
private static byte[] convertXMLDSIGtoASN1(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
arraylength
bipush 40
if_icmpeq 2
1: new java.io.IOException
dup
ldc "Invalid XMLDSIG format of DSA signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
bipush 20
istore 1
start local 1 3: goto 5
StackMap locals: int
StackMap stack:
4: iinc 1 -1
StackMap locals:
StackMap stack:
5: iload 1
ifle 6
aload 0
bipush 20
iload 1
isub
baload
ifeq 4
6: StackMap locals:
StackMap stack:
iload 1
istore 2
start local 2 7: aload 0
bipush 20
iload 1
isub
baload
ifge 9
8: iinc 2 1
9: StackMap locals: int
StackMap stack:
bipush 20
istore 3
start local 3 10: goto 12
StackMap locals: int
StackMap stack:
11: iinc 3 -1
StackMap locals:
StackMap stack:
12: iload 3
ifle 13
aload 0
bipush 40
iload 3
isub
baload
ifeq 11
13: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 14: aload 0
bipush 40
iload 3
isub
baload
ifge 16
15: iinc 4 1
16: StackMap locals: int
StackMap stack:
bipush 6
iload 2
iadd
iload 4
iadd
newarray 8
astore 5
start local 5 17: aload 5
iconst_0
bipush 48
bastore
18: aload 5
iconst_1
iconst_4
iload 2
iadd
iload 4
iadd
i2b
bastore
19: aload 5
iconst_2
iconst_2
bastore
20: aload 5
iconst_3
iload 2
i2b
bastore
21: aload 0
bipush 20
iload 1
isub
aload 5
iconst_4
iload 2
iadd
iload 1
isub
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 5
iconst_4
iload 2
iadd
iconst_2
bastore
23: aload 5
iconst_5
iload 2
iadd
iload 4
i2b
bastore
24: aload 0
bipush 40
iload 3
isub
aload 5
bipush 6
iload 2
iadd
iload 4
iadd
iload 3
isub
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: aload 5
areturn
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 26 0 xmldsigBytes [B
3 26 1 i I
7 26 2 j I
10 26 3 k I
14 26 4 l I
17 26 5 asn1Bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
xmldsigBytes
}
SourceFile: "DOMSignatureMethod.java"
NestMembers:
org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA
InnerClasses:
final SHA1withDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA 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 SHA256withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA 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 SHA512withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod