## Requirements

For running these scripts you need:

- A Unix-like operating system (e.g. Linux, I would like to hear reports of pyCA running on other systems).
- OpenSSL 0.9.4+

For running the CGI-BIN programs you need:

- Web server with CGI-BIN support, e.g. Apache or preferrably a web server with SSL support like ApacheSSL or Apache with mod_ssl.
- One of the following web browsers:
  - Netscape Navigator or Opera
    using the <KEYGEN>-tag for the asymmetric key generation
  - Microsoft Internet Explorer 4 or above (IE 3 will be not supported)

For using LDAP as a certificates repository you need:

- LDAP Server (e.g. OpenLDAP) configured to store certificate attributes
- python-ldap which needs OpenLDAP to build

Ready-to-use packages of the required software in current Linux distributions:

- The Linux distribution S.u.S.E. already has RPM packages of Python, OpenSSL, Apache with mod_ssl, Netscape Navigator, OpenLDAP and ldapmodule (since 6.2) for Python.
- Red Hat has included the Python interpreter with their Linux distribution. You might consider to grab some pre-packaged RPMs of OpenLDAP and ldapmodule.
- There is a Debian package of pyCA itself. The Debian-Release (nickname Potato) includes packages of OpenSSL, Python, OpenLDAP and ldapmodule for Python as well as ApacheSSL and Apache with mod_ssl.

## Documentation

Some rudimental documentation is available and included in the download archive above.

- Architecural overview
- List of files
- Configuration
- Release history
- Roadmap - plans for enhancing pyCA
- Example OpenSSL configuration file

### Installing

- Install all required software.
- Put the Python programs under cgi-bin/ anywhere in the CGI-BIN directory of your web server.
- Put the Python modules under pylib/ anywhere in your Python path or adjust the list variable pylib in pycacnf.py.
- You have to set up a reasonable OpenSSL configuration file openssl.cnf (see documentation, see example) and adjust variable cnf_filename in pycacnf.py.
- You might want to create a CA hierarchy with ca-make.py.
- call the CGI-BIN program ca-index to show some of the relevant data in your OpenSSL configuration file.