3

Java SSL セッションを使用して、クライアントとサーバー間に安全なチャネルを確立したいと考えています。

コマンドラインからこのコマンドを実行してサーバーキーを作成した後、次のリンクhttp://www.herongyang.com/JDK/ssl_https.htmlに従って接続を確立しました。

keytool-genkey-alias Herong keyalg-RSA-keysize 1024-keystore. キーストア

このコードは、「致命的なアラートを受信しました: certificate_unknown」というエラー タイプを返します。コードのどこにエラーがあるのか​​わかりません。

Server started:
Server socket class: class com.sun.net.ssl.internal.ssl.SSLServerSocketImpl
Socker address = 0.0.0.0/0.0.0.0
Socker port = 8888
Need client authentication = false
Want client authentication = false
Use client mode = false
Socket Server class: class com.sun.net.ssl.internal.ssl.SSLSocketImpl
Remote address = /127.0.0.1
Remote  Server port = 36571
Local socket Server address = /127.0.0.1:8888
Local Server address = /127.0.0.1
Local Server port = 8888
Need Server client authentication = false
Cipher suite = SSL_NULL_WITH_NULL_NULL
Protocol = NONE
javax.net.ssl.SSLException: Connection has been shutdown:   javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(Unknown Source)
    at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
    at sun.nio.cs.StreamDecoder.read(Unknown Source)
    at java.io.InputStreamReader.read(Unknown Source)
    at java.io.BufferedReader.fill(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at HttpsHello.main(HttpsHello.java:31)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.getSession(Unknown Source)
    at HttpsHello.printSocketInfo(HttpsHello.java:59)
    at HttpsHello.main(HttpsHello.java:26)
4

0 に答える 0