SANTUARIO-444 - Signing of big XMLs fails on Windows 8/10 using smart cards.

Thanks to Adrian Greiler for the patch

git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk@1746546 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/xml/security/signature/XMLSignature.java b/src/main/java/org/apache/xml/security/signature/XMLSignature.java
index 330f747..3fd8c90 100644
--- a/src/main/java/org/apache/xml/security/signature/XMLSignature.java
+++ b/src/main/java/org/apache/xml/security/signature/XMLSignature.java
@@ -624,11 +624,12 @@
             SignatureAlgorithm sa = si.getSignatureAlgorithm();
             OutputStream so = null;
             try {
+                // generate digest values for all References in this SignedInfo
+                si.generateDigestValues();
+
                 // initialize SignatureAlgorithm for signing
                 sa.initSign(signingKey);
 
-                // generate digest values for all References in this SignedInfo
-                si.generateDigestValues();
                 so = new UnsyncBufferedOutputStream(new SignerOutputStream(sa));
                 // get the canonicalized bytes from SignedInfo
                 si.signInOctetStream(so);