Merge branch 'master' of http://github.com/mono/mono
[mono.git] / mcs / class / System / Test / System.Security.Cryptography.X509Certificates / pkits / README
1 In September 2002 NIST (National Institute of Standards and Technology) 
2 released the "Public Key Interoperability Test Suite" (PKITS). The document
3 contains (a lot of) tests that ensure compliance with RFC3280.
4
5 In order to use Mono PKITS unit tests you need to have all the test cases
6 data downloaded, uncompressed and installed correctly. You can do all this
7 with a simple
8
9         % make
10
11 You can turn off the PKITS test by doing a
12
13         % make off
14
15 And turn them back on (without redownloading everything) with a
16
17         % make on
18
19 You can remove everything, except the downloaded ZIP files, by doing a
20
21         % make clean
22
23 And "really" remove everything with a
24
25         % make clean-all
26
27
28 Notes
29
30 * In order to work properly a number of Root(Trusted) and CA certificates
31 and CRL must be installed in the user store. You should be aware that they
32 exists when PKITS is install. It's even possible (but would be a bug) that
33 some remains after uninstallation. Please use certmgr to ensure your user
34 certificate store is "clean".
35
36 * The x509build.exe tool can be used to diagnose problems. Unlike the unit
37 tests, which stop at the first bad assertion, the tool will display all
38 available information on the whole certificate chain.
39
40 * The Makefile is to be used with Mono only (any platform). If you want to
41 run the tests on MS runtime then keep in mind that:
42
43         * it use it's own certificate stores. You'll need to register the
44         root and CA certificates and CRL with it;
45
46         * the MS X509Chain implementation is a wrapper around CryptoAPI.
47         The results you'll see will depends on your operating system (newer
48         versions of Windows are more RFC3280 compliant than earlier ones).
49
50 * The last (sub-)point is important because it means we can't compare Mono
51 results with the MS framework (as they depends on the operating system).
52 The goal of adding this test suite is to check for regressions against 
53 RFC3280 (which is more useful for interop with other implementation and,
54 eventually, will match MS results on some new operating system).
55
56 * Most of the tests will start failing in April 2011 as the certificates
57 validity period will be over.