第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

(Java) 未發(fā)送所需的 SSL 證書(在 curl 調(diào)用中使用時(shí)工作正常)

(Java) 未發(fā)送所需的 SSL 證書(在 curl 調(diào)用中使用時(shí)工作正常)

忽然笑 2022-07-14 17:15:48
因此,我正在嘗試通過在 Java 程序中使用客戶端證書來測(cè)試與我公司 Web 服務(wù)器的連接(使用 2 路 SSL)。我嘗試在 curl 調(diào)用中使用相同的證書(分離的證書和密鑰)并設(shè)法獲得所需的響應(yīng)。但是當(dāng)我嘗試在我的 Java 程序中使用它(組合成 pkcs12 格式)時(shí),它會(huì)給出 400 響應(yīng),說沒有發(fā)送所需的 SSL 證書。為什么會(huì)這樣?public static void main(String[] args) {    System.out.println("Taufiq's mutual SSL-authentication test");    org.apache.log4j.BasicConfigurator.configure();    Logger.getRootLogger().setLevel(Level.INFO);    try {        final String CERT_ALIAS = "something", CERT_PASSWORD = "something";        KeyStore identityKeyStore = KeyStore.getInstance("pkcs12");        FileInputStream identityKeyStoreFile = new FileInputStream(new File("src/Cert.p12"));        identityKeyStore.load(identityKeyStoreFile, CERT_PASSWORD.toCharArray());        KeyStore trustKeyStore = KeyStore.getInstance("jks");        FileInputStream trustKeyStoreFile = new FileInputStream(new File("src/truststore.jks"));        trustKeyStore.load(trustKeyStoreFile, CERT_PASSWORD.toCharArray());        SSLContext sslContext = SSLContexts.custom()            // load identity keystore            .loadKeyMaterial(identityKeyStore, CERT_PASSWORD.toCharArray(), new PrivateKeyStrategy() {                @Override                public String chooseAlias(Map<String, PrivateKeyDetails> aliases, Socket socket) {                    return CERT_ALIAS;                }            })            // load trust keystore            .loadTrustMaterial(trustKeyStore, null)            .build();        SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext,            new String[]{"TLSv1.2", "TLSv1.1"},            null,            SSLConnectionSocketFactory.getDefaultHostnameVerifier());        CloseableHttpClient client = HttpClients.custom()            .setSSLSocketFactory(sslConnectionSocketFactory)            .build();        // Call a SSL-endpoint        callEndPoint (client);    } catch (Exception ex) {        System.out.println("Boom, we failed: " + ex);        ex.printStackTrace();    }}        }    } 
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

我想你知道 ssl 握手是如何工作的。如果沒有,請(qǐng)熟悉一下。然后使用wireshark查看ssl握手。您將獲得比一些該死的 http 庫解釋更好的 ssl 警報(bào)詳細(xì)信息。如果有的話,這是一個(gè)誤導(dǎo)性錯(cuò)誤。

可以肯定的是,您的服務(wù)器必須信任您的客戶端證書,所以我假設(shè)您首先正確設(shè)置了東西;你說你試過 curl 但你沒有說它是否有效。

最后,我不認(rèn)識(shí)這些 SSL 類,所以您導(dǎo)入的不是 jdk 的 jsse 類;您可能是此類庫的受害者。


查看完整回答
反對(duì) 回復(fù) 2022-07-14
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

事實(shí)證明,當(dāng)我使用核心 jdk jsse 類時(shí),程序運(yùn)行良好。我使用了上述程序,因?yàn)槲沂菑幕ヂ?lián)網(wǎng)上復(fù)制其中一個(gè)示例。



查看完整回答
反對(duì) 回復(fù) 2022-07-14
  • 2 回答
  • 0 關(guān)注
  • 197 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)