Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Client Authentication (1.3.6.1.5.5.7.3.2) OID in server certificates

Tags:

For a project I'm working on I have to generate web server certificate. As I understand it, server certificates should contain the Server Authentication OID (1.3.6.1.5.5.7.3.1). But as I see all server certificates issued by well known issuers like Verisign contain also Client Authentication OID (1.3.6.1.5.5.7.3.2).

I tried to use certificate with only server authentication OID - seems it works fine.

Questions

  • Why is the client authentication OID needed for server certificates?
  • Is it needed for some legacy support or there is another reason for it?
like image 522
Aleksander Kois Avatar asked Jul 04 '13 19:07

Aleksander Kois


People also ask

What is OID certificate?

An OID, or Object Identifier, can be applied to each CPS (Certificate Practice statement). The OID is an identifier that is tied to the CPS or, if multiple policies are defined, to each CA's certificate policy.

How do I enable client certificates?

On the taskbar, click Start, and then click Control Panel. In Control Panel, click Programs and Features, and then click Turn Windows Features on or off. Expand Internet Information Services, then select Client Certificate Mapping Authentication, and then click OK.


2 Answers

The difference between the two is exactly how they're described.

For using a certificate as a server (on the receiving end of the connection), it must have the Server extended key usage.

In a 2-way SSL connection, where the client (on the initiating end of the connection) presents a certificate back to the server, it must have the Client extended key usage.

If you're never using the certificate as a client cert, you won't need the Client Authentication OID.

like image 166
bfos Avatar answered Sep 19 '22 11:09

bfos


I think it is also useful to point out that one of the main distinctions between Client and Server certificates is that:

  1. Server Certificates are used for encryption and decryption of data;
  2. Client Certificates represent a user identity. That is, to prove the client's identity to a remote server.
like image 25
onefootswill Avatar answered Sep 22 '22 11:09

onefootswill