Skip to content.
|Networking government in New Zealand.
 
You are here: Home » Services » SEEMail » S.E.E. PKI Paper 11 - S.E.E. Key enabling a web based application » 11 Testing a PKI enabled application for compliance

11 Testing a PKI enabled application for compliance

11.1.1 As well as configuring an application to behave well, it is important to test that the application is actually behaving as expected.

Test name

Description

Expected result

Bolded is mandatory

Test the CA Trust list

+ve

Access the application with a certificate issued by a CA that is in the trust list, and that should grant access to the application.

Access granted

Access logged including certificate details.

-ve

Try to access the application using a certificate that would usually be appropriate but whose CA is not in the trust list for the application. An easy way to test this is to remove a normally trusted CA from the list temporarily.

Access denied

Failure logged including certificate details

Test behaviour of certificate status checking unavailable

Prevent the application from accessing certificate status checking services - CRLs and OCSP and try to access the application. An easy way to do this is to disconnect the server from the Internet, or this is not possible, by changing the hosts file to specify an incorrect IP address for the CRL and OCSP servers. Before testing it is important to remove any locally cached CRLs or OCSP responses.

Access denied

Failure logged including URL of unavailable service, or the certificate details.

Alert the system administrator.

Test behaviour of cached certificate status

As for "certificate status checking unavailable" above, but before preventing access certificate status checking services, access the application successfully.

Access granted, unless application configured not to cache certificate status.

Test behaviour of expired cached certificate status but certificate status checking unavailable

As for "cached certificate status" above, but wait until the cached certificate status response has expired. For CRL checking, check when the CRL will expire, and time this test for just before this. For OCSP, you will need to wait for longer than the OCSP response validity period before retesting.

Ideally certificate status checking services are very reliable, and access should be denied as there could be a denial of service attack against the certificate status checking services combined with an attack against the application.

However, for applications where high availability is most important, reasonably recent certificate status may be considered better than none, and this would shield the application from certificate status checking availability problems, including network connectivity problems. There would need to be some limit to how long expired cached information would be acceptable.

Access denied (arguable)

Alert the system administrator.

Test behaviour of expired cached certificate status and certificate status checking available

After a successful access, have the certificate revoked. After certificate status has expired, try to access the application again. The application should retrieve new certificate status information...

Access denied

Failure logged including certificate details

Encryption algorithm - defaults to maximum desired.

Using a client with support for a good range of encryption algorithms, access the application. Check what encryption algorithm is being used. In Internet Explorer, right click on the web pages and choose properties. In Netscape, click on the security button.

Check algorithm used - should be 3DES or AES for SENSITIVE SYSTEMS, 128 bit RC4 is also acceptable for IN CONFIDENCE systems.

Encryption algorithm - undesirable algorithms have been disabled.

Attempt to access the application after configuring the client to disable all algorithms permitted by the server. This is easy in Netscape 6 - Edit, Preferences, Privacy & Security, SSL, Edit Ciphers.

Access denied


[ Previous | Next ]