相关疑难解决方法(0)

使用Java和Bouncycastle进行X.509证书验证

通过bouncycastle wiki页面,我能够理解如何创建X.509根证书和认证请求,但我不太明白如何在此之后继续进行概念和编程.

让我们假设甲方做了一个证书请求,并从CA获得了他的客户证书.某些乙方如何验证A的证书?A需要什么样的证书?根证书?"普通"客户证书?

如果我们假设A已成功将他的证书以DER或PEM格式发送给B,那么验证如何在编程级别上工作?

任何帮助深表感谢.

最诚挚的问候,Rob

java validation bouncycastle certificate x509

18
推荐指数
2
解决办法
3万
查看次数

在Java中针对CA验证X.509证书

可以说我有这样的东西(客户端代码):

TrustManager[] trustAllCerts = new TrustManager[]{
    new X509TrustManager() {

        @Override
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        @Override
        public void checkClientTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
        }

        @Override
        public void checkServerTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
        }
    }
};

SSLContext sslc = SSLContext.getInstance("TLS");
sslc.init(null, trustAllCerts, null);

SocketFactory sf = sslc.getSocketFactory();
SSLSocket s = (SSLSocket) sf.createSocket("127.0.0.1", 9124);
Run Code Online (Sandbox Code Playgroud)

这段代码功能齐全,但我真的无法弄清楚,如何根据我在pem文件中提供的一个具体CA证书来验证服务器的证书.

所有证书都由我的自签名CA签名,它是我需要验证的CA(仅针对此证书).

每个答案都表示赞赏.

编辑:

回应jglouie(非常感谢你这样做 - 不能投票给你答案).

我创立了解决方案:

new X509TrustManager() {

        @Override
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

java ssl x509certificate x509 x509trustmanager

16
推荐指数
2
解决办法
3万
查看次数

如何以编程方式获取有关APNS推送证书的信息?

是否有任何java库使我们能够找到p12证书是否是正确的Apple推送证书?

我使用X509Certificate类来检查其有效性,但没有找到有关证书类型的任何信息.

java iphone x509certificate apple-push-notifications ios

6
推荐指数
1
解决办法
903
查看次数

仅信任CA颁发的特定证书 - Android

我正在开发一个Android应用程序,只有当服务器具有CA颁发的特定证书(例如:GoDaddy)时才需要进行SSL握手.我在Android开发者网站上引用了这些文档,但它只是说验证一个不受Android信任的自签名证书或证书.在我的情况下,我应该获得客户端证书并将其添加到我的密钥库.我正在使用apache HttpClient为我的网络服务请求.任何帮助深表感谢.

ssl android ca

6
推荐指数
1
解决办法
3221
查看次数

在 WebView loadUrl() 中信任证书颁发机构

根据安全扫描程序的结果,我需要限制应用程序信任的证书颁发机构。

扫描结果指出 处的线webView.loadUrl("https://example.com/page");。我看到了如何创建一个使用我的 TrustManager 的 SslSocketFactory,但我在 WebView 中没有看到允许我设置它的 API。

https://developer.android.com/training/articles/security-ssl.html#UnknownCa

有哪些可能的方法来实现这一目标?

android ca ssl-certificate x509certificate android-webview

3
推荐指数
1
解决办法
6423
查看次数