You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: doc/quickstart.rst
+38-16
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,12 @@
3
3
Quickstart guide
4
4
================
5
5
6
+
OpenXPKI is an easy-to-deploy and easy-to-use RA/CA software that makes
7
+
handling of certificates easy but nevertheless you should **really**
8
+
have some basic knownledge on what a PKI is. If you just want to see
9
+
"OpenXPKI in action" for a first impression of the tool, use the
10
+
public demo at https://demo.openxpki.org.
11
+
6
12
Support
7
13
-------
8
14
@@ -15,13 +21,14 @@ Vagrant
15
21
16
22
We have a vagrant setup for debian buster. If you have vagrant you can just
17
23
checkout the git repo, go to vagrant/debian and run "vagrant up test". Provisioning takes some
18
-
minutes and will give you a ready to run OXI install available at http://localhost:8080/openxpki/.
24
+
minutes and will give you a ready to run OXI install available at https://localhost:8443/openxpki/.
19
25
20
26
Docker
21
27
------
22
28
23
-
We also provide a docker image based on the debian packages as well as a docker-compose file, see
24
-
https://github.com/openxpki/openxpki-docker.
29
+
We also provide a docker image based on the debian packages as well as a
30
+
docker-compose file, see https://github.com/openxpki/openxpki-docker.
31
+
**Please read the hints in the README if you try this on Windows!**
25
32
26
33
Debian Builds
27
34
-------------
@@ -31,8 +38,8 @@ those running a v2 version we still maintain security and major bug fixes for th
31
38
32
39
**Packages are for Debian 10 (Buster) / 64bit (arch amd64). The en_US.utf8 locale must be
33
40
installed as the translation system will crash otherwise! The packages do NOT work
34
-
on Ubuntu or 32bit systems. Community packages for Ubuntu have been
35
-
discontinued due to packaging/dependancy problems.**
41
+
on Ubuntu or 32bit systems. Packages for SLES/CentOS/RHEL/Ubuntu are available
42
+
via subscription**
36
43
37
44
Start with a debian minimal install, we recommend to add "SSH Server" and "Web Server" in the package selection menu, as this will speed up the install later.
38
45
@@ -50,6 +57,8 @@ Add the repository to your source list (buster)::
Please do not disable the installation of "recommend" packages as this will very likely leave you with an unusable system.
61
+
53
62
As the init script uses mysql as default, but does not force it as a dependency, it is crucial that you have the mysql server and the perl mysql binding installed before you pull the OpenXPKI package::
You should now restart the apache server to activate the new config::
72
-
73
-
service apache2 restart
74
-
75
78
use the openxpkiadm command to verify if the system was installed correctly::
76
79
77
80
openxpkiadm version
@@ -97,7 +100,7 @@ Now, create an empty database and assign a database user::
97
100
98
101
99
102
Please create the empty database schema from the provided schema file. mysql and postgresql
100
-
should work out of the box, the oracle schema is goo for testing but needs some extra indices
103
+
should work out of the box, the oracle schema is good for testing but needs some extra indices
101
104
to perform properly.
102
105
103
106
Example call when debian packages are installed::
@@ -125,6 +128,9 @@ Here is what you need to do if you *dont* use the sampleconfig script.
125
128
#. Create a key/certificate for the internal datavault (ca = false, can be below the ca but can also be self-signed).
126
129
#. Create a key/certificate for the scep service (ca = false, can be below the ca but can also be self-signed or from other ca).
127
130
131
+
OpenXPKI supports NIST and Brainpool ECC curves (as supported by openssl) for the CA certificates, as the Datavault
132
+
certificate is used for data encryption it **MUST** use an RSA key!
133
+
128
134
**Starting with release 3.6 the default config uses the database to store the issuing ca and SCEP tokens -
129
135
if you upgrade from an older config version check the new settings in systems/crypto.yaml.**
130
136
@@ -243,12 +249,28 @@ An easy check to see if the signer token is working is to create a CRL::
243
249
Adding the Webclient
244
250
^^^^^^^^^^^^^^^^^^^^
245
251
246
-
The webclient is included in the core packages. Just open your browser and navigate to *https://yourhost/openxpki/*. You should see the main authentication page. If you get an internal server error, make sure you have the *en_US.utf8* locale installed (``locale -a | grep en_US``)!
252
+
The package installs a default configuration for apache but requires that you
253
+
provide a tls certificate for the WebUI by yourself. So before you can start
254
+
the Webserver you **must** create a TLS certificate, place the key to
255
+
`/etc/openxpki/tls/private/openxpki.pem` and the certificate to `/etc/openxpki/tls/endentity/openxpki.crt`.
256
+
257
+
The default configuration also offers TLS client authentication. Place a copy of
258
+
your root certificate in `/etc/openxpki/tls/chain/` and run `c_rehash /etc/openxpki/tls/chain/`
259
+
to make it available for chain construction in apache.
260
+
261
+
You should now be able to start the apache server::
262
+
263
+
$ service apache2 restart
264
+
265
+
Navigate your browser to *https://yourhost/openxpki/*. If your browser asks you to present a certificate
266
+
for authentication, skip it. You should now see the main authentication page.
247
267
248
-
You can log in as user with any username/password combination, the operator login has two preconfigured operator accounts raop and raop2 with password openxpki.
268
+
You can log in as user with any username/password combination, the operator login has two preconfigured
269
+
operator accounts raop and raop2 with password openxpki.
249
270
250
-
If you only get the "Open Source Trustcenter" banner without a login prompt, check that fcgid is enabled as described above with
251
-
(``a2enmod fcgid; service apache2 restart``).
271
+
If you only get the "Open Source Trustcenter" banner without a login prompt, check that fcgid is enabled
272
+
as described above with (``a2enmod fcgid; service apache2 restart``). If you get an internal server error,
273
+
make sure you have the *en_US.utf8* locale installed (``locale -a | grep en_US``)!
Copy file name to clipboardexpand all lines: doc/reference/configuration/workflows/enroll.rst
+72-36
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
-
SCEP Workflow
2
-
=============
1
+
Enrollment Workflow
2
+
====================
3
3
4
-
Before you can use the SCEP subsystem, you need to enable the SCEP Server
5
-
in the general configuration. This section explains the business logic and
6
-
options for the enrollment workflow.
4
+
The enrollment workflow is used by the SCEP, EST and RPC interface. The
5
+
details how to connect the workflow to the API differ but the general
6
+
configuration and operational modes are the same for all three subsystems.
7
7
8
8
Operational Modes
9
9
-----------------
@@ -23,6 +23,8 @@ match the subject of the signer certificate (which is a self-signed
23
23
certificate in this case). Especially Ciso ASA fails here as the certificate
24
24
subject does not match the request subject.
25
25
26
+
For EST and RPC this is equal to an unauthenticated/unsigned TLS request.
27
+
26
28
Renewal
27
29
+++++++
28
30
@@ -35,6 +37,12 @@ request from the old certificate to ensure the subjects match. Please note
35
37
that reuse of keys is not supported, you must generate a new key for each new
36
38
request.
37
39
40
+
As you can not use a TLS server certificate to authenticate as client the
41
+
workflow supports an approach names "surrogate certifcates" which requires
42
+
that you create a look-alike self-signed certificate with the proper key
43
+
usage. Have a look at the perldoc of the EvaluateSignerTrust activity for
44
+
more details.
45
+
38
46
Enrollment On Behalf
39
47
++++++++++++++++++++
40
48
@@ -45,6 +53,9 @@ always choosen if the subject of request and signer do not match, so it is
45
53
often hit by accident when Renewal or Initial Enrollment are made with
46
54
"wrong" subjects.
47
55
56
+
For SCEP the signature on the SCEP PKCS7 container is the TTP, for EST/RPC
57
+
the TTP is the TLS client certificate used to make the connection.
58
+
48
59
Workflow Logic
49
60
--------------
50
61
@@ -83,25 +94,20 @@ approval point:
83
94
Sample Configuration
84
95
--------------------
85
96
86
-
The workflow fetches all information from the configuration system at ``scep.<servername>`` where the servername is taken from the scep wrapper configuration.
97
+
The workflow fetches all information from the configuration system at
98
+
``<subsystem>.<servername>`` where the servername is taken from the wrapper
99
+
configuration.
87
100
88
-
Here is a complete sample configuration (found in `scep/generic.yaml`)::
101
+
Here is a complete sample configuration (found in `scep/generic.yaml`). The
102
+
sections `token`, `workflow` and `response` are only used by SCEP, the
103
+
`export_certificate` is only applicable to the RPC output. The remainder
104
+
of the configuration is the same for all subsystems::
89
105
90
106
# By default, all scep endpoints wll use the default token defined
91
107
# by the scep token group, if you pass a name here, it is considered
92
108
# a group name from the alias table
93
109
#token: ca-one-special-scep
94
110
95
-
# A renewal request is only accpeted if the used certificate will
96
-
# expire within this period of time.
97
-
renewal_period: 000060
98
-
99
-
# If the request was a replacement, optionally revoke the replaced
100
-
# certificate after a grace period
101
-
revoke_on_replace:
102
-
reason_code: keyCompromise
103
-
delay_revocation_time: +000014
104
-
105
111
workflow:
106
112
type: certificate_enroll
107
113
param:
@@ -114,6 +120,35 @@ Here is a complete sample configuration (found in `scep/generic.yaml`)::
114
120
_url_params: url_params
115
121
#_pkcs7: pkcs7
116
122
123
+
response:
124
+
# The scep standard is a bit unclear if the root should be in the chain
125
+
# or not. We consider it a security risk (trust should be always set
126
+
# by hand) but as most clients seem to expect it, we include the root
127
+
# by default.
128
+
# The getca response contains the certificate of the SCEP server itself
129
+
# and of the current active issuer (which can but need not to be the same!)
130
+
# You can define weather to have only the certificate itself (endentity),
131
+
# the chain without the root (chain) or the chain including the root
132
+
# (fullchain).
133
+
# Note: The response is cached internally in the datapool so changes
134
+
# will not show up immediately - to list the cached items use
0 commit comments