mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8146293: Add support for RSASSA-PSS Signature algorithm
Add RSASSA-PSS key and signature support to SunRsaSign provider Reviewed-by: wetmore
This commit is contained in:
parent
6216182dd1
commit
9e8d9fe1ee
79 changed files with 5489 additions and 627 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 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
|
||||
|
@ -27,12 +27,14 @@ package java.security.cert;
|
|||
|
||||
import java.math.BigInteger;
|
||||
import java.security.*;
|
||||
import java.security.spec.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import javax.security.auth.x500.X500Principal;
|
||||
|
||||
import sun.security.x509.X509CertImpl;
|
||||
import sun.security.util.SignatureUtil;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -677,8 +679,19 @@ implements X509Extension {
|
|||
Signature sig = (sigProvider == null)
|
||||
? Signature.getInstance(getSigAlgName())
|
||||
: Signature.getInstance(getSigAlgName(), sigProvider);
|
||||
|
||||
sig.initVerify(key);
|
||||
|
||||
// set parameters after Signature.initSign/initVerify call,
|
||||
// so the deferred provider selections occur when key is set
|
||||
try {
|
||||
SignatureUtil.specialSetParameter(sig, getSigAlgParams());
|
||||
} catch (ProviderException e) {
|
||||
throw new CertificateException(e.getMessage(), e.getCause());
|
||||
} catch (InvalidAlgorithmParameterException e) {
|
||||
throw new CertificateException(e);
|
||||
}
|
||||
|
||||
byte[] tbsCert = getTBSCertificate();
|
||||
sig.update(tbsCert, 0, tbsCert.length);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue