< prev index next >
src/java.base/share/classes/sun/security/pkcs/SignerInfo.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 445,471 ****
}
}
Signature sig = Signature.getInstance(algname);
AlgorithmParameters ap =
digestEncryptionAlgorithmId.getParameters();
try {
! SignatureUtil.initVerifyWithParam(sig, key,
! SignatureUtil.getParamSpec(algname, ap));
! } catch (ProviderException | InvalidAlgorithmParameterException |
! InvalidKeyException e) {
throw new SignatureException(e.getMessage(), e);
}
sig.update(dataSigned);
if (sig.verify(encryptedDigest)) {
return this;
}
} catch (IOException e) {
throw new SignatureException("IO error verifying signature:\n" +
e.getMessage());
}
return null;
}
/* Verify the content of the pkcs7 block. */
--- 445,475 ----
}
}
Signature sig = Signature.getInstance(algname);
+ sig.initVerify(key);
+
+ // set parameters after Signature.initSign/initVerify call,
+ // so the deferred provider selections occur when key is set
AlgorithmParameters ap =
digestEncryptionAlgorithmId.getParameters();
try {
! SignatureUtil.specialSetParameter(sig, ap);
! } catch (ProviderException | InvalidAlgorithmParameterException e) {
throw new SignatureException(e.getMessage(), e);
}
sig.update(dataSigned);
if (sig.verify(encryptedDigest)) {
return this;
}
} catch (IOException e) {
throw new SignatureException("IO error verifying signature:\n" +
e.getMessage());
+ } catch (InvalidKeyException e) {
+ throw new SignatureException("InvalidKey: " + e.getMessage());
}
return null;
}
/* Verify the content of the pkcs7 block. */
< prev index next >