尽管尝试了所有安全措施,但我希望我的客户接受像我们服务器中的那样的自签名 X.509 证书。我正在使用 WP8 SKD 以及用于 Windows Phone 的 Bouncy Castle 的 C# 绑定,称为 bouncywp7.1,因此它的大多数类/方法都可用。
在 Android 中完成此操作的方式是创建我自己的证书信任管理器并使其对所有证书都返回 true。
public static void allowAllSSL()
{
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(final String hostname, final SSLSession session) {
return true;
}
});
SSLContext context = null;
try {
context = SSLContext.getInstance("TLS");
context.init(null, sTrustManagers, new SecureRandom());
} catch (final NoSuchAlgorithmException catchException) {
LoggerFactory.consoleLogger().printStackTrace(catchException);
} catch (final KeyManagementException catchException) {
LoggerFactory.consoleLogger().printStackTrace(catchException);
}
mFakeFactory = context.getSocketFactory();
HttpsURLConnection.setDefaultSSLSocketFactory(mFakeFactory);
}
在 Windows Phone 8 上做同样的事情最不痛苦的方法是什么?