IP Library Granted Patent US 8,190,876
Granted Patent B2
US 8,190,876 · App. 11/986,248 · Granted May 29, 2012

Renegotiating SSL/TLS connections with client certificates on post requests

Assignee: Red Hat, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,190,876
App. No.
11/986,248
Granted
May 29, 2012
Kind
B2
Abstract

A method and apparatus for providing securing a connection with a (Secure Sockets Layer) SSL/TLS-enabled server. In one embodiment, a web client establishes a new connection by initiating a communication with the SSL/TLS-enabled server. The communication includes a non-POST request. After the client negotiates the secured connection with the server in response to the non-POST request, the client submits a POST request to the SSL/TLS-enabled server via the secured connection.

Claims (46)

1. A computer-implemented method comprising:

negotiating, by a client computing device executing an application, a secured connection with a server without authenticating the client computing device to the server, wherein the secured connection is secured using a secured sockets layer/transport layer security (SSL/TLS) protocol;

making a determination, by the client computing device, to access a server resource that requires client authentication;

in response to the determination, sending a non-POST request to the server to initiate a new secured connection, the non-POST request indicating the server resource;

negotiating the new secured connection with the server, the negotiating of the new secured connection comprising sending a client certificate to the server and authenticating the client computing device to the server; and

submitting a hypertext transfer protocol (HTTP) POST request to the server via the new secured connection, the HTTP POST request indicating the server resource.

2. The method of claim 1 , wherein negotiating the secured connection comprises sending a ClientHello message to the server.

3. The method of claim 2 , wherein negotiating the secured connection comprises receiving server certificate that includes a server name, a server trusted certificate authority (CA), and a server's public encryption key.

4. The method of claim 1 wherein the non-POST request comprises at least one of an HTTP GET request or an HTTP HEAD request.

5. A non-transitory machine-accessible storage medium including data that, when accessed by a machine, cause the machine to perform a method comprising:

negotiating, by an application executing on the machine, a secured connection with a server without authenticating the machine to the server, wherein the secured connection is secured using a secured sockets layer/transport layer security (SSL/TLS) protocol;

determining, by the application, to access a server resource that requires client authentication;

in response to the determining, sending a non-POST request to the server to initiate a new secured connection, the non-POST request indicating the server resource;

negotiating a new secured connection with the server, the negotiating of the new secured connection comprising sending a client certificate to the server and authenticating the machine to the server; and

submitting a hypertext transfer protocol (HTTP) POST request to the server via the new secured connection, the HTTP POST request indicating the server resource.

6. The non-transitory machine-accessible storage medium of claim 5 , wherein negotiating the new secured connection further comprises

receiving a ServerHello message including server certificate and a request for the client certificate.

7. The non-transitory machine-accessible storage medium of claim 6 wherein the server certificate includes a server name, a server trusted certificate authority (CA), and a server's public encryption key.

8. The non-transitory machine-accessible storage medium of claim 5 , wherein the non-POST request comprises at least one of an HTTP GET request or an HTTP HEAD request.

9. A client computing device comprising:

a memory, to store instructions for an application; and

a processing device, coupled to the memory, wherein the processing device is configured to:

negotiate a secured connection with a server without authenticating the client computing device to the server, wherein the secured connection is secured using a secure sockets layer/transport layer security (SSL/TLS) protocol;

make a determination to access a server resource that requires client authentication;

in response to making the determination, send a non-POST request to the server to initiate a new secured connection, the non-POST request indicating the server resource;

negotiate the new secured connection with the server, the negotiating of the new secured connection comprising sending a client certificate to the server and authenticating the client computing device to the server; and

submit a hypertext transfer protocol (HTTP) POST request to the server via the new secured connection, the HTTP POST request indicating the server resource.

10. The client computing device of claim 9 , wherein negotiating the secured connection comprises sending a ClientHello message to the server.

11. The client computing device of claim 10 , wherein negotiating the secured connection comprises receiving a server certificate that includes a server name, a server trusted certificate authority (CA), and a server's public encryption key.

12. The client computing device of claim 9 , wherein the non-POST request comprises at least one of an HTTP GET request or an HTTP HEAD request.

13. The client computing device of claim 9 , wherein the application comprises a web browser.

14. The method of claim 1 , further comprising:

receiving a ServerHello message from the server in response to sending the non-POST request;

negotiating the new secured connection with the server in response to receiving the ServerHello message;

receiving a response to the non-POST request from the server after the new secured connection is negotiated; and

submitting the HTTP POST request in response to receiving the response.

15. The non-transitory machine-accessible storage medium of claim 5 , the method further comprising:

receiving a ServerHello message from the server in response to sending the non-POST request;

negotiating the new secured connection with the server in response to receiving the ServerHello message;

receiving a response to the non-POST request from the server after the new secured connection is negotiated; and

submitting the HTTP POST request in response to receiving the response.

16. The client computing device of claim 9 , wherein the processing device is further configured to:

receive a ServerHello message from the server in response to sending the non-POST request;

negotiate the new secured connection with the server in response to receiving the ServerHello message;

receive a response to the non-POST request from the server after the new secured connection is negotiated; and

submit the HTTP POST request in response to receiving the response.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2007
From: SCHNEIDER, JAMES PAUL
To: RED HAT, INC.
Reel/Frame 020193/0396 →
Continuity (1)
Related Publication 20090132807A1 · May 21, 2009