Fix JDK 8 compatibility issue with OpenJdkSelfSignedCertGenerator
- X509CertInfo.setSubject/setIssuer() requires X500Name instead of CertificateSubjectName/CertificateIssuerName.
This commit is contained in:
parent
097ea8b5b5
commit
79f2f332ec
@ -32,6 +32,7 @@ import java.math.BigInteger;
|
|||||||
import java.security.KeyPair;
|
import java.security.KeyPair;
|
||||||
import java.security.PrivateKey;
|
import java.security.PrivateKey;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
|
import java.security.cert.CertificateException;
|
||||||
|
|
||||||
import static io.netty.handler.ssl.util.SelfSignedCertificate.*;
|
import static io.netty.handler.ssl.util.SelfSignedCertificate.*;
|
||||||
|
|
||||||
@ -48,8 +49,16 @@ final class OpenJdkSelfSignedCertGenerator {
|
|||||||
X500Name owner = new X500Name("CN=" + fqdn);
|
X500Name owner = new X500Name("CN=" + fqdn);
|
||||||
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
|
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
|
||||||
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new BigInteger(64, random)));
|
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new BigInteger(64, random)));
|
||||||
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
|
try {
|
||||||
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
|
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
|
||||||
|
} catch (CertificateException ignore) {
|
||||||
|
info.set(X509CertInfo.SUBJECT, owner);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
|
||||||
|
} catch (CertificateException ignore) {
|
||||||
|
info.set(X509CertInfo.ISSUER, owner);
|
||||||
|
}
|
||||||
info.set(X509CertInfo.VALIDITY, new CertificateValidity(NOT_BEFORE, NOT_AFTER));
|
info.set(X509CertInfo.VALIDITY, new CertificateValidity(NOT_BEFORE, NOT_AFTER));
|
||||||
info.set(X509CertInfo.KEY, new CertificateX509Key(keypair.getPublic()));
|
info.set(X509CertInfo.KEY, new CertificateX509Key(keypair.getPublic()));
|
||||||
info.set(X509CertInfo.ALGORITHM_ID,
|
info.set(X509CertInfo.ALGORITHM_ID,
|
||||||
|
Loading…
Reference in New Issue
Block a user