Неустранимая ошибка SSL: 80: перенос данных приложения - PullRequest
0 голосов
/ 24 апреля 2018

Я написал небольшой HTTPS-сервер с использованием JAVA HttpsServer.Я доверяю всем сертификатам.Все работает отлично, пока я не включу аутентификацию клиента.Когда это включено, я получаю fatal error: 80: problem wrapping app data

@Throws(IOException::class, ConfigurationException::class)
fun createHttpsServer(port: Int): HttpServer {
    val server = HttpsServer.create(InetSocketAddress(port), 50)
    server.httpsConfigurator = object : HttpsConfigurator(httpSslContext!!) {
        override fun configure(params: HttpsParameters) {
            // initialise the SSL context
            val c = sslContext
            val engine = c.createSSLEngine()
            params.cipherSuites = engine.enabledCipherSuites
            params.protocols = engine.enabledProtocols

            // get the default parameters
            val defaultSSLParameters = c.defaultSSLParameters
            defaultSSLParameters.needClientAuth = true
            params.setSSLParameters(defaultSSLParameters)
        }
    }
    server.executor = Executors.newCachedThreadPool()
    server.createContext("/", forwardingHandler)

    return server

Журналы SSL:

Algorithm: [SHA1withRSA]
  Signature:
0000: 1E 3D A9 54 C7 74 49 D0   AC 45 A4 A2 FD 7B 20 AF  .=.T.tI..E.... .
0010: 5A 50 55 EA F7 74 DC EC   A5 E6 06 AD E5 CB D3 53  ZPU..t.........S
0020: 8A 26 32 01 4C 45 68 7F   7C 3E 3F 32 3E 11 A5 B2  .&2.LEh..>?2>...
0030: 42 3C A8 E6 12 FC 07 20   AB 11 6C E7 8C AE AA BB  B<..... ..l.....
0040: BB AA 63 9C 5C 88 A3 E0   3A 93 A6 76 13 2B D1 9B  ..c.\...:..v.+..
0050: 2B DD 44 EF BC F9 F8 E6   9E 1F 18 1A 15 C0 51 58  +.D...........QX
0060: 0D 67 92 D1 1D 75 95 59   D3 A8 5F 21 AF 8D 7E 7F  .g...u.Y.._!....
0070: A3 32 3C E7 98 AC 36 E9   25 5E 0F 0E 89 69 42 F3  .2<...6.%^...iB.
0080: 68 4C 49 07 9D 45 BC A1   41 2F 13 89 3D CA 5F 44  hLI..E..A/..=._D
0090: 21 9C 9B C9 AE DE 63 F5   48 1B 42 25 DE E0 0F 19  !.....c.H.B%....
00A0: 92 ED E2 AD A1 EF 14 98   4C 12 D3 73 94 53 CA 1C  ........L..s.S..
00B0: 47 4E F6 9C 61 1F 3C DF   80 FD 9F 71 17 E0 97 81  GN..a.<....q....
00C0: 48 0E AD 9B C1 25 C4 A3   92 6A 38 CB 87 9B B5 A7  H....%...j8.....
00D0: 9E C0 78 A0 C2 55 55 FB   5B 0C 13 4F D0 3B EE 86  ..x..UU.[..O.;..
00E0: 68 8F 77 DA 99 D2 85 90   36 52 6C 10 47 03 A7 FD  h.w.....6Rl.G...
00F0: 34 BD 7E D4 D3 C9 70 DE   C8 01 B6 50 6D 2F 82 21  4.....p....Pm/.!

]
***
*** ECDH ServerKeyExchange
Signature Algorithm SHA512withRSA
Server key: Sun EC public key, 256 bits
  public x coord: 15518797577523849726712181417640837349616973214491358941085809023626829095652
  public y coord: 60541936111519200887808307614106810785134319765539977787735005161273003220904
  parameters: secp256r1 [NIST P-256, X9.62 prime256v1] (1.2.840.10045.3.1.7)
pool-2-thread-1, fatal error: 80: problem wrapping app data
java.lang.RuntimeException: Delegated task threw Exception/Error
%% Invalidated:  [Session-1, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
pool-2-thread-1, SEND TLSv1.2 ALERT:  fatal, description = internal_error
pool-2-thread-1, WRITE: TLSv1.2 Alert, length = 2
pool-2-thread-1, called closeInbound()
pool-2-thread-1, fatal: engine already closed.  Rethrowing javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack?
pool-2-thread-1, called closeOutbound()
pool-2-thread-1, closeOutboundInternal()
[Raw write]: length = 7
0000: 15 03 03 00 02 02 50 

У кого-нибудь есть идеи, что может быть причиной такой ошибки?

...