--- old/src/share/classes/java/security/Signature.java 2013-05-14 10:49:13.214766505 +0800 +++ new/src/share/classes/java/security/Signature.java 2013-05-14 10:49:13.094766510 +0800 @@ -248,6 +248,7 @@ Signature sig; if (instance.impl instanceof Signature) { sig = (Signature)instance.impl; + sig.algorithm = algorithm; } else { SignatureSpi spi = (SignatureSpi)instance.impl; sig = new Delegate(spi, algorithm);