Fix NativeCrypto.X509_verify() exceptions. am: 8b63789f4a am: 631f434be5
Original change: https://android-review.googlesource.com/c/platform/external/conscrypt/+/3296234
Change-Id: Id086e951d3f7b591423e529272c00670d6832c03
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/common/src/main/java/org/conscrypt/NativeCrypto.java b/common/src/main/java/org/conscrypt/NativeCrypto.java
index b5f80fb..544ff7d 100644
--- a/common/src/main/java/org/conscrypt/NativeCrypto.java
+++ b/common/src/main/java/org/conscrypt/NativeCrypto.java
@@ -485,7 +485,7 @@
static native byte[] X509_get_serialNumber(long x509ctx, OpenSSLX509Certificate holder);
static native void X509_verify(long x509ctx, OpenSSLX509Certificate holder, NativeRef.EVP_PKEY pkeyCtx)
- throws BadPaddingException;
+ throws BadPaddingException, IllegalBlockSizeException;
static native byte[] get_X509_tbs_cert(long x509ctx, OpenSSLX509Certificate holder);
diff --git a/common/src/main/java/org/conscrypt/OpenSSLX509Certificate.java b/common/src/main/java/org/conscrypt/OpenSSLX509Certificate.java
index 8245956..2141f76 100644
--- a/common/src/main/java/org/conscrypt/OpenSSLX509Certificate.java
+++ b/common/src/main/java/org/conscrypt/OpenSSLX509Certificate.java
@@ -48,6 +48,7 @@
import java.util.Set;
import java.util.TimeZone;
import javax.crypto.BadPaddingException;
+import javax.crypto.IllegalBlockSizeException;
import javax.security.auth.x500.X500Principal;
import org.conscrypt.OpenSSLX509CertificateFactory.ParsingException;
@@ -383,8 +384,8 @@
NativeCrypto.X509_verify(mContext, this, pkey.getNativeRef());
} catch (RuntimeException e) {
throw new CertificateException(e);
- } catch (BadPaddingException e) {
- throw new SignatureException();
+ } catch (BadPaddingException | IllegalBlockSizeException e) {
+ throw new SignatureException(e);
}
}
diff --git a/repackaged/common/src/main/java/com/android/org/conscrypt/NativeCrypto.java b/repackaged/common/src/main/java/com/android/org/conscrypt/NativeCrypto.java
index 1edbd50..b6f053c 100644
--- a/repackaged/common/src/main/java/com/android/org/conscrypt/NativeCrypto.java
+++ b/repackaged/common/src/main/java/com/android/org/conscrypt/NativeCrypto.java
@@ -499,8 +499,8 @@
static native byte[] X509_get_serialNumber(long x509ctx, OpenSSLX509Certificate holder);
- static native void X509_verify(long x509ctx, OpenSSLX509Certificate holder, NativeRef.EVP_PKEY pkeyCtx)
- throws BadPaddingException;
+ static native void X509_verify(long x509ctx, OpenSSLX509Certificate holder,
+ NativeRef.EVP_PKEY pkeyCtx) throws BadPaddingException, IllegalBlockSizeException;
static native byte[] get_X509_tbs_cert(long x509ctx, OpenSSLX509Certificate holder);
diff --git a/repackaged/common/src/main/java/com/android/org/conscrypt/OpenSSLX509Certificate.java b/repackaged/common/src/main/java/com/android/org/conscrypt/OpenSSLX509Certificate.java
index 6f664fc..c769bf8 100644
--- a/repackaged/common/src/main/java/com/android/org/conscrypt/OpenSSLX509Certificate.java
+++ b/repackaged/common/src/main/java/com/android/org/conscrypt/OpenSSLX509Certificate.java
@@ -50,6 +50,7 @@
import java.util.Set;
import java.util.TimeZone;
import javax.crypto.BadPaddingException;
+import javax.crypto.IllegalBlockSizeException;
import javax.security.auth.x500.X500Principal;
/**
@@ -384,8 +385,8 @@
NativeCrypto.X509_verify(mContext, this, pkey.getNativeRef());
} catch (RuntimeException e) {
throw new CertificateException(e);
- } catch (BadPaddingException e) {
- throw new SignatureException();
+ } catch (BadPaddingException | IllegalBlockSizeException e) {
+ throw new SignatureException(e);
}
}