Requirements for certificates used with Windows 7 » History » Version 7
Tobias Brunner, 22.10.2012 15:54
1 | 1 | Martin Willi | h1. Requirements for certificates used with Windows 7 |
---|---|---|---|
2 | 1 | Martin Willi | |
3 | 7 | Tobias Brunner | The Windows 7 Beta release was liberal in accepting certificates, but already the Release Candidate added several new requirements for the VPN gateway certificate. |
4 | 1 | Martin Willi | |
5 | 1 | Martin Willi | h2. Required fields |
6 | 1 | Martin Willi | |
7 | 3 | Andreas Steffen | Your gateway certificate must have: |
8 | 5 | Andreas Steffen | |
9 | 7 | Tobias Brunner | * An *Extended Key Usage* flag explicitly allowing the certificate to be used for authentication purposes. The *serverAuth* EKU having the OID _1.3.6.1.5.5.7.3.1_ (often called _TLS Web server authentication_) will do that. If you are using OpenSSL to generate your certificates then include the option |
10 | 1 | Martin Willi | <pre> |
11 | 1 | Martin Willi | extendedKeyUsage = serverAuth |
12 | 7 | Tobias Brunner | </pre> |
13 | 1 | Martin Willi | |
14 | 7 | Tobias Brunner | For the [[IpsecPkiIssue|ipsec pki]] tool add the following argument |
15 | 7 | Tobias Brunner | <pre> |
16 | 7 | Tobias Brunner | --flag serverAuth |
17 | 7 | Tobias Brunner | </pre> |
18 | 1 | Martin Willi | |
19 | 7 | Tobias Brunner | In addition to _serverAuth_ the "IP Security IKE Intermediate" EKU with OID _1.3.6.1.5.5.8.2.2_ does not hurt either and will allow you to use the certificate with older [[IOS_(Apple)|Mac OS X releases]] too. |
20 | 7 | Tobias Brunner | So, this will work too: |
21 | 7 | Tobias Brunner | |
22 | 7 | Tobias Brunner | <pre> |
23 | 7 | Tobias Brunner | extendedKeyUsage = serverAuth, 1.3.6.1.5.5.8.2.2 |
24 | 7 | Tobias Brunner | </pre><pre> |
25 | 7 | Tobias Brunner | --flag serverAuth --flag ikeIntermediate |
26 | 7 | Tobias Brunner | </pre> |
27 | 7 | Tobias Brunner | |
28 | 7 | Tobias Brunner | |
29 | 4 | Andreas Steffen | * The hostname of the VPN gateway entered in the clients connection properties *MUST* be contained either in the *subjectDistinguishedName* of the server certificate |
30 | 1 | Martin Willi | |
31 | 4 | Andreas Steffen | <pre> |
32 | 4 | Andreas Steffen | C=CH, O=strongSwan Project, CN=vpn.strongswan.org |
33 | 4 | Andreas Steffen | </pre> |
34 | 1 | Martin Willi | |
35 | 7 | Tobias Brunner | or in a *subjectAltName* extension that can be added with the OpenSSL option |
36 | 1 | Martin Willi | |
37 | 1 | Martin Willi | <pre> |
38 | 1 | Martin Willi | subjectAltName = DNS:vpn.strongswan.org |
39 | 1 | Martin Willi | </pre> |
40 | 1 | Martin Willi | |
41 | 7 | Tobias Brunner | or the [[IpsecPkiIssue|ipsec pki issue]] argument |
42 | 7 | Tobias Brunner | |
43 | 7 | Tobias Brunner | <pre> |
44 | 7 | Tobias Brunner | --san vpn.strongswan.org |
45 | 7 | Tobias Brunner | </pre> |
46 | 7 | Tobias Brunner | |
47 | 7 | Tobias Brunner | For optimal compatibility with other client implementations it is recommended to include the hostname as *subjectAltName*, as matching only parts of the distinguished name is not compliant with "RFC 4945":http://tools.ietf.org/html/rfc4945. |
48 | 7 | Tobias Brunner | |
49 | 1 | Martin Willi | h2. Disabling extended certificate checks |
50 | 1 | Martin Willi | |
51 | 1 | Martin Willi | Alternatively, you may disable these extended certificate checks on the client. |
52 | 1 | Martin Willi | |
53 | 1 | Martin Willi | > *This is potentially dangerous, as any certificate holder assured by your CA may act as the VPN gateway.* |
54 | 1 | Martin Willi | |
55 | 4 | Andreas Steffen | To disable the extended checks, add a _DWORD_ called *DisableIKENameEkuCheck* to |
56 | 1 | Martin Willi | |
57 | 4 | Andreas Steffen | <pre> |
58 | 4 | Andreas Steffen | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters\ |
59 | 4 | Andreas Steffen | </pre> |
60 | 1 | Martin Willi | |
61 | 1 | Martin Willi | in the client's registry. |
62 | 4 | Andreas Steffen | |
63 | 4 | Andreas Steffen | |
64 | 4 | Andreas Steffen | h2. Further information |
65 | 4 | Andreas Steffen | |
66 | 4 | Andreas Steffen | For more details about the requirements and other ways to disable the certificate checks, have a look to "this knowledge base article":http://support.microsoft.com/kb/926182. |
67 | 7 | Tobias Brunner | |
68 | 7 | Tobias Brunner | "This blog entry":http://www.carbonwind.net/blog/post/VPN-Reconnect-in-Windows-7-RC-redux.aspx also provides detailed information about the Windows 7 certificate requirements. |