| Index: net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| diff --git a/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java b/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| index 83775d895b2bd54cdea6d4057ae75499f4889b3e..e4caee50583f6b0ccb24452529666261b456f1c9 100644
|
| --- a/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| +++ b/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| @@ -198,20 +198,24 @@ class AndroidNetworkLibrary {
|
| }
|
|
|
| /**
|
| - * Validate the server's certificate chain is trusted.
|
| + * Validate the server's certificate chain is trusted. Note that the caller
|
| + * must still verify the name matches that of the leaf certificate.
|
| *
|
| * @param certChain The ASN.1 DER encoded bytes for certificates.
|
| - * @param authType The key exchange algorithm name (e.g. RSA)
|
| + * @param authType The key exchange algorithm name (e.g. RSA).
|
| + * @param host The hostname of the server.
|
| * @return Android certificate verification result code.
|
| */
|
| @CalledByNative
|
| - public static int verifyServerCertificates(byte[][] certChain, String authType) {
|
| + public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
|
| + String authType,
|
| + String host) {
|
| try {
|
| - return X509Util.verifyServerCertificates(certChain, authType);
|
| + return X509Util.verifyServerCertificates(certChain, authType, host);
|
| } catch (KeyStoreException e) {
|
| - return CertVerifyResultAndroid.VERIFY_FAILED;
|
| + return new AndroidCertVerifyResult(CertVerifyStatusAndroid.VERIFY_FAILED);
|
| } catch (NoSuchAlgorithmException e) {
|
| - return CertVerifyResultAndroid.VERIFY_FAILED;
|
| + return new AndroidCertVerifyResult(CertVerifyStatusAndroid.VERIFY_FAILED);
|
| }
|
| }
|
|
|
|
|