- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因为我被指示在我自己的问题中提出这个问题,所以我在这里这样做。
看Original Topic其中我首先提出了我的问题(现已删除)。
我遇到了同样的问题,不幸的是作者的回答没有帮助。
为了更详细地介绍我的问题,我使用 Java 8 (v8.0.25 - JDK) 在互联网上的 Tomcat 8 (v8.0.15) 服务器上使用自签名证书。我在那里托管我的 Java EE 应用程序,它是我的 Android 应用程序的后端。 Tomcat 的 SSL 连接器正常工作。当我用 RESTClient 测试后端时我得到了预期的结果。
我用一个证书创建了 keystore :
keytool -genkey -alias tomcat -keystore tomcat.keystore
-storepass MYKEYSTOREPASS -keyalg RSA -keysize 2048 -validity 365
然后我提取了证书:
keytool -export -alias tomcat -storepass MYKEYSTOREPASS
-keystore tomcat.keystore -file tomcat.cer
最后,我为我的 Android 应用程序创建了一个 BKS 格式的新 keystore :
keytool -import -alias tomcat -file tomcat.cer -keypass MYKEYSTOREPASS
-keystore tomcat.bks -storetype BKS -storepass MYKEYSTOREPASS
-providerClass org.bouncycastle.jce.provider.BouncyCastleProvider
-providerpath $PATH_TO_BC_LIBRARY/bcprov-jdk16-146.jar
(as mentioned here the "-export" and "-import" parameter are from previous releases but still useable. So you could also know this command parameters as "-exportcert" and "-importcert")
完成这些步骤后,我尝试连接,一切正常。但直到我停用/离开我的 WLAN 连接。然后它不再工作并带来“javax.net.ssl.SSLPeerUnverifiedException:没有对等证书”。
我真的不明白这种行为。
让 android 端更亮一点:
我使用了 this tutorial 中的类/库以完全相同的方式。
如果有什么遗漏,请评论,我会带来信息。
提前致谢!
最佳答案
在针对类似问题对服务器故障进行研究时,我得到了提示也可能出了什么问题: https://serverfault.com/questions/560733/why-isnt-tomcat-serving-the-correct-ssl-certificate我用缺少的参数“keyAlias”试了一下,它成功了!解决方案最终是——就像 Ogre_BGR 之前预期的那样——不是最佳的 tomcat 配置。连接器如下所示:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="PATH_TO_YOUR_KEYSTORE"
keystorePass="PASSWORD_FOR_YOUR_KEYSTORE"
keyAlias="ALIAS_OF_YOUR_CERTIFICATE"
maxHttpHeaderSize="8192"
/>
当没有配置 keyAlias 时,Tomcat 只默默地选择它在 keystore 中找到的第一个 key 。文档中提到 here (在底部)。
我希望有一天有人会高兴地阅读这篇文章,同时遇到同样的问题。
再次感谢@Ogre_BGR :)
关于android - 通过 https 的 Volley Request 仅适用于 Wifi (wlan) 但不适用于 3G/GPRS (umts),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27984082/
我试图了解 LTE 和 UMTS/HSPA+ 如何从全功率状态过渡,以及当移动设备的 radio 全功率运行时,塔上占用了哪些资源。 我看过 Ch. High Performance Browser
问题是,当我使用下面的源代码时,我只在 2G 模式下收到小区 ID,如果我切换到 3G 模式,我有时会收到 HSDPA 的 -1 或 UMTS 的任何消息。源代码是: for (int i = 0;
当网络类型为 UMTS 时,任何人都知道如何获取 CellSignalStrength 即 getDbm() 吗?当网络类型是 LTE 或 GSM 时,我们可以使用类似 http://develo
我需要检测GSM/UMTS无线调制解调器当前所在国家/地区的MCC。 最佳答案 基于GSM网络 您需要使用 TelephonyManager 中的 getSimCountryIso() 和 getNe
我正在尝试了解如何在 linux 中使用 HUAWEI E173 dongle 使用语音功能。 我的加密狗启用了语音功能(语音适用于 Windows 应用程序)。 我可以使用 AT^CVOICE 检查
我知道不幸的是,在普通 Android 上检测和更改编程数据连接 (GPRS/UMTS) 是不可能的,常见的解决方法是编辑 APN 设置。这不是一个好的解决方案。 但是在我的设备 (Xperia X1
我是一名蜂窝射频工程师,一直在尝试从 Android SDK 环境中获取一些特定的 WCDMA/3G/UMTSsignal 测量值。使用公共(public)类 SignalStrength 我已经成功
我的 android 应用程序使用 HttpClient 来访问我的 servlet部署在我的 Tomcat 上。它安装在我的 HTC Magic 上。 如果我在连接到 Wifi 时启动它:它可以工作
我想通过 WiFi 路由器从我的移动 Android 设备向 PC 发送/接收数据(例如二进制或字符串)。 这是否与我使用 TCP 套接字连接通过 WiFi 发送数据的方式相同? 所以我从我的客户端(
如果 iDevice 通过 WiFi 连接到互联网,我可以使用 kSCNetworkFlagsTransientConnection 检测 VPN 状态。它工作正常。 但在 3G/UMTS 的情况下,
我觉得这有点奇怪:我将工作中的 http 连接转换为带有自签名证书的 https 连接,遵循 these instructions .当我连接到 WiFi 时一切正常。但是,3G/GPRS 连接将不起
我想获取有关我的 iPhone 上的 UMTS 接口(interface)所连接的蜂窝网络的一些信息。有谁知道执行此工作的 API 调用。我记得 android 操作系统上的一个应用程序,在那里可以获
因为我被指示在我自己的问题中提出这个问题,所以我在这里这样做。 看Original Topic其中我首先提出了我的问题(现已删除)。 我遇到了同样的问题,不幸的是作者的回答没有帮助。 为了更详细地介绍
我是一名优秀的程序员,十分优秀!