簡體   English   中英

Java SSL/TLS(無可用的身份驗證方案)

[英]Java SSL/TLS (No available authentication scheme)

你好,因為我用我的 KeyStore 解決了我的最后一個問題,其中 KeyTool 有一個問題,我想問另一個問題。

現在我將我的 Let's Encrypt 證書導入到我的 KeyStore 中,但是當客戶端開始連接時收到以下消息

沒有可用的身份驗證方案

我嘗試了很多東西,並在 Stackoverflow 中閱讀了很多內容,但我並沒有結束。

以下 Stacktrace 來了:

javax.net.ssl.SSLHandshakeException: No available authentication scheme
    at sun.security.ssl.Alert.createSSLException(Alert.java:131)
    at sun.security.ssl.Alert.createSSLException(Alert.java:117)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:357)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:313)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:304)
    at sun.security.ssl.CertificateMessage$T13CertificateProducer.onProduceCertificate(CertificateMessage.java:970)
    at sun.security.ssl.CertificateMessage$T13CertificateProducer.produce(CertificateMessage.java:959)
    at sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:420)
    at sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1096)
    at sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1032)
    at sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:716)
    at sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:683)
    at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376)
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:479)
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:457)
    at sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1290)
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1199)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
    at de.bytestore.mytriox.network.server.ServerSocket$1.run(ServerSocket.java:204)
    at java.lang.Thread.run(Thread.java:748)

這是我的密鑰庫文件: 密鑰庫示例

我需要 select 為 SecureSocket 的別名還是您有其他想法?

最好的問候

我在 Spring 雲網關服務中看到了同樣的錯誤。 原因是我在其中創建了一個沒有密碼的密鑰庫和密鑰別名。 所以,當我修改 application.yaml

server:
  port: 8182
  ssl:
    enabled: true
    key-store: classpath:gateway-key-store.p12
    key-store-password:  <-empty
    key-alias: gateway-key
    key-password:  <-empty

異常消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM