Re: Question about DTLS implementation
Peter Dettman <[email protected]> Mon, 11 Nov 2019 17:57:33 +1030
| Newsgroups | gmane.comp.encryption.bouncy-castle.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Seung-bum, On 8/11/19 6:56 pm, Seung-bum Jin wrote: > Hi All, > > We are trying to use the BouncyCastle 1.63 java source to implement DTLS > protcol on our JSSE provider. > > While review the source code, we found code stuffs > handling HandshakeType.new_session_ticket, but it's not mentioned in > RFC-6347 4.3.2. (Handshake Protocol), 4.2.4. (Figure 2). > > We have question about that is the implementation correct? Session tickets are defined in RFC 5077; they're an optional feature of (D)TLS. We don't fully support them, but do support the handshake message if the extension is negotiated. > And the DTLSServerProtocol does not sends hello_verify_request. In the > point of design approach, it seemed to be right way to handle the > request in clinet and server protocol class, not in DTLSVerifier class, > regrdless of synchronous or aynchronous processing. The idea is that DTLSVerifier can be used by a stateless server without having to bind to a particular client. Only once a verified ClientHello is received does the server proceed to DTLSServerProtocol (which implies a stateful connection to the client). > > And the code in the DTLSClient.java may works when > no hello_verify_request received. We have also question about is that right. Yes, HelloVerifyRequest (+ ClientHello resend) is an optional step in the DTLS handshake. The server may choose to send a ServerHello immediately. Regards, Pete Dettman