diff --git a/handler/src/main/java/io/netty/handler/ssl/OpenSslX509Certificate.java b/handler/src/main/java/io/netty/handler/ssl/OpenSslX509Certificate.java index 77d0713613..b94a19577b 100644 --- a/handler/src/main/java/io/netty/handler/ssl/OpenSslX509Certificate.java +++ b/handler/src/main/java/io/netty/handler/ssl/OpenSslX509Certificate.java @@ -15,20 +15,25 @@ */ package io.netty.handler.ssl; +import javax.security.auth.x500.X500Principal; import java.io.ByteArrayInputStream; import java.math.BigInteger; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.Principal; +import java.security.Provider; import java.security.PublicKey; import java.security.SignatureException; import java.security.cert.CertificateEncodingException; import java.security.cert.CertificateException; import java.security.cert.CertificateExpiredException; import java.security.cert.CertificateNotYetValidException; +import java.security.cert.CertificateParsingException; import java.security.cert.X509Certificate; +import java.util.Collection; import java.util.Date; +import java.util.List; import java.util.Set; final class OpenSslX509Certificate extends X509Certificate { @@ -50,6 +55,37 @@ final class OpenSslX509Certificate extends X509Certificate { unwrap().checkValidity(date); } + @Override + public X500Principal getIssuerX500Principal() { + return unwrap().getIssuerX500Principal(); + } + + @Override + public X500Principal getSubjectX500Principal() { + return unwrap().getSubjectX500Principal(); + } + + @Override + public List getExtendedKeyUsage() throws CertificateParsingException { + return unwrap().getExtendedKeyUsage(); + } + + @Override + public Collection> getSubjectAlternativeNames() throws CertificateParsingException { + return unwrap().getSubjectAlternativeNames(); + } + + @Override + public Collection> getIssuerAlternativeNames() throws CertificateParsingException { + return unwrap().getSubjectAlternativeNames(); + } + + // No @Override annotation as it was only introduced in Java8. + public void verify(PublicKey key, Provider sigProvider) + throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException { + unwrap().verify(key, sigProvider); + } + @Override public int getVersion() { return unwrap().getVersion(); diff --git a/pom.xml b/pom.xml index bde6a377ad..59e442502c 100644 --- a/pom.xml +++ b/pom.xml @@ -777,6 +777,7 @@ java.util.concurrent.atomic.LongAdder java.util.function.BiFunction + java.security.cert.X509Certificate java.net.InetAddress