尝试到达应用程序引擎端点时出现 SSLHandshakeException

2023-12-07

我正在尝试从 Android 客户端连接到我的端点方法之一到本地运行的应用程序引擎后端。问题是我收到 SSLHandshakeException。我的 API 不受 OAuth 保护。我试图达到的方法如下所示:

@ApiMethod(name = "register")
public UserInfo registerUser(UserInfo userInfo) {
    try {
        checkUserParameters(userInfo);
        ofy().save().entity(userInfo).now();
        return ofy().load().entity(userInfo).now();
    } catch (InvalidPropertiesFormatException e) {
        logger.info(e.getMessage());
        return null;
    }
}

从我的客户那里我正在这样做:

  if (regService == null) {
            UserInfoApi.Builder builder = new UserInfoApi.Builder(AndroidHttp.newCompatibleTransport(),
                   new AndroidJsonFactory(), null)
                .setRootUrl(LoginActivity.LOCALHOST_IP)
                .setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
                    @Override
                    public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest)
                            throws IOException {
                        abstractGoogleClientRequest.setDisableGZipContent(true);
                    }
           });

           regService = builder.build();
           UserInfo userInfo = new UserInfo();
           userInfo.setGcmId(registerToGcm());
           userInfo.setAccountName(params[0]);
           userInfo.setEmail(params[0]);
           userInfo.setProfilePictureUrl(null);
           UserInfo userInfo = regService.register(userInfo).execute();
  }

由于某种原因,这不起作用,我也尝试过将后端模块导入到 android studio 时获得的 API,但它给出了相同的错误。

Logs:

03-18 12:21:21.642  30454-30477/huka.com.repli W/System.err﹕ javax.net.ssl.SSLHandshakeException: Handshake failed
03-18 12:21:21.642  30454-30477/huka.com.repli W/System.err﹕ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:374)
03-18 12:21:21.642  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.Connection.upgradeToTls(Connection.java:197)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.Connection.connect(Connection.java:151)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:276)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:211)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:373)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:106)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:208)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:25)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:77)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:965)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at gcm.GcmRegistrationAsyncTask.registerToService(GcmRegistrationAsyncTask.java:80)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at gcm.GcmRegistrationAsyncTask.doInBackground(GcmRegistrationAsyncTask.java:69)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at gcm.GcmRegistrationAsyncTask.doInBackground(GcmRegistrationAsyncTask.java:26)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xaf724200: Failure in SSL library, usually a protocol error
03-18 12:21:21.643  30454-30477/huka.com.repli W/System.err﹕ error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:790 0xac490e61:0x00000000)
03-18 12:21:21.644  30454-30477/huka.com.repli W/System.err﹕ at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
03-18 12:21:21.644  30454-30477/huka.com.repli W/System.err﹕ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:302)
03-18 12:21:21.644  30454-30477/huka.com.repli W/System.err﹕ ... 23 more

所以...问题是我在客户端设置 rootUrl 时使用 https 而不是 http。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试到达应用程序引擎端点时出现 SSLHandshakeException 的相关文章

随机推荐

  • VS Code,打字 - 无 IntelliSense

    我有一个具有以下 缩短的 结构的项目 app app css app js home home css home html home js jsconfig json package json tsconfig json typings g
  • 为什么 HttpClient 总是给我相同的响应?

    环境 VS2012更新4Windows Phone 8 SDK一个基于 WP OS 7 1 的全新 Windows Phone 项目NuGet pack1 MS 异步NuGet pack2 MS HttpClient 该项目是做什么的论坛
  • 如何在Windows中使用java将webp转换为png或jpg?

    I got bitbucket org luciad webp imageio在 Ubuntu 中工作 但我无法在 Windows 中工作 这是我在 Ubuntu 中所做的 下载 webp imageio 和libwebp源代码 其他版本可
  • Prolog 成员谓词

    我需要编写一个 Prolog 谓词 以避免手头列表中多次出现的项目出现冗余答案 如以下示例查询所示 member a a b a true member X a b a X a X b false member X a b a c a d
  • Umano SlidingPanel 中状态栏下方的滑动布局

    我已经使用 UmanoSlidingPanel 实现了https github com umano AndroidSlidingUpPanel 一切工作正常 除了我的滑动面板在展开时 滑动内容 sliding view 位于状态栏下方 我怎
  • 如何使用常见的 try-catch 来处理 Javascript 中的每个给定函数?

    这些是我的一些函数 我需要编写一个通用函数来查看函数运行是否没有错误 我尝试使用 try catch 方法 但我只能对每个函数单独执行此操作 function fisrt console log First function second
  • Android扩展文件

    我正在尝试制作一个包含 80mo PNG 的应用程序 这是一个离线应用程序 所以我必须将它们存储在手机上 该应用程序在本地运行良好 但我无法上传 gt 50mo 的 apk 所以我试图实现一个包含我所有 PNG 的扩展文件 所以我在 Lin
  • 解析 EMV 9F10 令牌

    我收到以下信息IAD处理后GPO command 那么我的问题是 怎么样9F10 EMV token建造 这是令牌 06010A03A020000F04000000000000000000006232E4F9 我只需要发送CVR部分到采集开
  • Python Argparse“需要以下参数”错误

    我正在尝试使用 github 存储库 但项目的 argparse 部分存在一些问题 回购协议开始如下 import markdown sys csv getpass smtplib argparse from email mime text
  • asp.net mvc 和 linq toEntity:如何包含 IEnumerable 中的文本值

    我有一个对一个字段有约束的表 它可以是 1 2 或 3 正确的解决方案可能是为此创建一个查找表 但现在我想知道是否可以在不使用查找表 我创建了一个返回值的 IEnumerable 类 我正在使用 LINQ to Entities 并且希望能
  • .NET 5 支持旧的 csproj 格式吗?

    从 NET Framework 迁移到 NET 5 时最大的障碍之一是必须将所有 csproj 转换为新的 SDK 样式格式 没有工具可以自动执行此操作 必须手动完成 我想知道这个转换是否有必要 有没有办法在保留旧的 cs 项目的同时切换到
  • 核心 4D 图像 tif 存储为 hdf5 python

    我有 27GB 的 2D tiff 文件 代表 3D 图像电影的切片 我希望能够像简单的 numpy4d 数组一样对这些数据进行切片 看起来 dask array 是一个很好的工具 可以在数组作为 hdf5 文件存储在内存中后干净地操作数组
  • 为什么在字符串数组上使用 Array.map(parseInt) 会产生不同的结果[重复]

    这个问题在这里已经有答案了 我正在观看一个关于销毁所有软件标题的演讲JavaScript 的诞生与消亡 在演讲中 Gary Bernhardt 指出了 JavaScript 的一个奇怪的功能 即给出一个整数字符串数组 javascript
  • 在R中是否可以得到F#的函数应用“|>”运算符? [复制]

    这个问题在这里已经有答案了 可能的重复 R 流水线函数 我发现 R 语法与 F 相比非常笨拙 在 R 中 而不是 plot exp cumsum returns 我很想做 returns gt cumsum gt exp gt plot 有
  • Bootstrap 4 - 以自定义方式显示卡片

    我正在尝试创建一个基于 Bootstrap 4 的正确语义 HTML CSS 它将以某种方式呈现卡片元素 而无需添加太多自定义批量 到目前为止我所拥有的是这样的 section class section d flex align item
  • 可扩展的 WinForms 文本框

    我在 Windows 窗体应用程序中创建了一个文本框 该文本框以用于在单行中输入文本的高度开始 但我希望如果用户输入包含在控件内的文本 文本框会自动增加其高度 目前 对于此文本框 我将属性 multiline 和 wordwrap 设置为
  • 为什么编译器需要一个特征的实现来调用默认的自由函数?

    当调用一个不需要的特征的默认实现时self 为什么需要注释一个实现类型呢 A 最小的 可重现的例子在下面 操场 mod builder pub trait Builder Sized fn new gt Simple Simple pub
  • 谷歌 protobuf 和 A​​ndroid NDK

    如何构建Google protobuf c 版本 https github com google protobuf releases latest 与 Android 目标 我在没有 ndk build 的情况下编译了 protobuf 这
  • 在jsp中显示数据

    我是jsp新手 面临一个问题 我需要创建 jsp 页面 显示来自 servlet 的数据 Servlet 代码 protected void doGet HttpServletRequest request HttpServletRespo
  • 尝试到达应用程序引擎端点时出现 SSLHandshakeException

    我正在尝试从 Android 客户端连接到我的端点方法之一到本地运行的应用程序引擎后端 问题是我收到 SSLHandshakeException 我的 API 不受 OAuth 保护 我试图达到的方法如下所示 ApiMethod name