Project

General

Profile

openac » History » Version 6

Tobias Brunner, 04.08.2011 11:05
Wiki syntax fixes

1 4 Martin Willi
h1. openac
2 4 Martin Willi
3 4 Martin Willi
4 4 Martin Willi
*openac* is intended to be used by an _Authorization Authority (AA)_ to generate and sign X.509 attribute
5 4 Martin Willi
certificates. Currently only the inclusion of _group attributes_ is supported. An attribute certificate is linked
6 1 Martin Willi
to a holder by including the issuer and serial number of the holder's X.509 certificate.
7 2 Martin Willi
8 4 Martin Willi
9 4 Martin Willi
h3. Parameters
10 4 Martin Willi
11 1 Martin Willi
The following command line options are supported:
12 1 Martin Willi
13 6 Tobias Brunner
_--help_
14 6 Tobias Brunner
15 1 Martin Willi
p(. display the usage message.
16 1 Martin Willi
17 6 Tobias Brunner
_--version_
18 6 Tobias Brunner
19 1 Martin Willi
p(. display the version of _openac_.
20 1 Martin Willi
21 6 Tobias Brunner
_--optionsfrom <filename>_
22 6 Tobias Brunner
23 1 Martin Willi
p(. adds the contents of the file to the argument list. If _<filename>_ is a relative path then the
24 1 Martin Willi
    file is searched in the _/etc/openac_ directory.
25 1 Martin Willi
26 6 Tobias Brunner
_--debug <level>_
27 6 Tobias Brunner
28 5 Tobias Brunner
p(. sets the debug level to 0 (none), 1 (normal), 2 (more), 3 (raw), and 4 (private), the default level being 1.
29 1 Martin Willi
30 6 Tobias Brunner
_--quiet_
31 6 Tobias Brunner
32 5 Tobias Brunner
p(. By default _openac_ logs all control output both to syslog and stderr. With the --quiet option no
33 1 Martin Willi
    output is written to stderr.
34 1 Martin Willi
35 6 Tobias Brunner
_--days <days>_
36 6 Tobias Brunner
37 5 Tobias Brunner
p(. Validity of the X.509 attribute certificate in days. If neither the --days nor the --hours option
38 5 Tobias Brunner
    is specified then a default validity interval of 1 day is assumed. The --days option can be
39 1 Martin Willi
    combined with the --hours option.
40 1 Martin Willi
41 6 Tobias Brunner
_--hours <hours>_
42 6 Tobias Brunner
43 5 Tobias Brunner
p(. Validity of the X.509 attribute certificate in hours. If neither the --hours nor the --days option
44 1 Martin Willi
    is specified then a default validity interval of 24 hours is assumed. The --hours option can be
45 1 Martin Willi
    combined with the --days option.
46 1 Martin Willi
47 6 Tobias Brunner
_--startdate YYYYMMDDHHMMSSZ_
48 6 Tobias Brunner
49 1 Martin Willi
p(. defines the _notBefore_ date when the X.509 attribute certificate becomes valid. The date _YYYYMMDDHHMMSS_
50 1 Martin Willi
    must be specified in UTC (Zulu time).  If the --startdate option is not specified then
51 1 Martin Willi
    the current time is taken as a default.
52 5 Tobias Brunner
53 6 Tobias Brunner
_--stopdate YYYYMMDDHHMMSSZ_
54 6 Tobias Brunner
55 1 Martin Willi
p(. defines the _notAfter_ date when the X.509 attribute certificate will expire. The date _YYYYMMDDHHMMSS_
56 5 Tobias Brunner
    must be specified in UTC (Zulu time). If the --stopdate option is not specified then the default
57 5 Tobias Brunner
    _notAfter_ value is computed by adding the validity interval specified by the --days and/or
58 1 Martin Willi
    --days options to the _notBefore_ date.
59 1 Martin Willi
60 6 Tobias Brunner
_--cert <certfile>_
61 6 Tobias Brunner
62 1 Martin Willi
p(. specifies  the  file  containing the X.509 certificate of the Authorization Authority.
63 1 Martin Willi
    Thanks to the automatic format recognition the certificate can be stored either in PEM or DER format.
64 1 Martin Willi
65 6 Tobias Brunner
_--key <keyfile>_
66 6 Tobias Brunner
67 1 Martin Willi
p(. specifies the encrypted file containing the private RSA key of the Authoritzation Authority.
68 1 Martin Willi
    The private key is stored in PKCS#1 format.
69 5 Tobias Brunner
70 6 Tobias Brunner
_--password <password>_
71 6 Tobias Brunner
72 1 Martin Willi
p(. specifies the password with which the private RSA keyfile defined by the --key option has been
73 1 Martin Willi
    protected. If the option is missing then the password is prompted for on the command line.
74 5 Tobias Brunner
75 6 Tobias Brunner
_--usercert <certfile>_
76 6 Tobias Brunner
77 1 Martin Willi
p(. specifies file containing the X.509 certificate of the user to which the generated attribute
78 5 Tobias Brunner
    certificate will apply. Thanks to the automatic format recognition the certificate file can be
79 5 Tobias Brunner
    stored either in PEM or DER format.
80 2 Martin Willi
81 6 Tobias Brunner
_--groups <attr1>,<attr2>_
82 6 Tobias Brunner
83 5 Tobias Brunner
p(. specifies a comma-separated list of _group attributes_ that will go into the X.509 attribute
84 5 Tobias Brunner
    certificate.
85 2 Martin Willi
86 6 Tobias Brunner
_--out <filename>_
87 6 Tobias Brunner
88 5 Tobias Brunner
p(. specifies the file where the generated X.509 attribute certificate will be stored to in binary
89 2 Martin Willi
    DER format.
90 2 Martin Willi
91 4 Martin Willi
92 4 Martin Willi
h3. Examples
93 4 Martin Willi
94 5 Tobias Brunner
Common options can be stored in a file and be loaded via the --optionsfrom parameter:
95 4 Martin Willi
<pre>
96 2 Martin Willi
moon# cat /etc/openac/default.conf
97 2 Martin Willi
--cert /etc/ipsec.d/aacerts/aaCert.pem
98 2 Martin Willi
--key /etc/openac/aaKey.pem
99 2 Martin Willi
--hours 8
100 4 Martin Willi
</pre>
101 2 Martin Willi
102 4 Martin Willi
First the attribute certificate for _carol_ is generated. She is member of the
103 4 Martin Willi
_Research_ group.
104 4 Martin Willi
<pre>
105 2 Martin Willi
moon# ipsec openac --optionsfrom default.conf --usercert /etc/openac/carolCert.pem \
106 2 Martin Willi
                   --groups Research --out /etc/ipsec.d/acerts/carolAC.pem
107 2 Martin Willi
  loaded private key file '/etc/openac/aaKey.pem' (1675 bytes)
108 2 Martin Willi
  loaded signer cert file '/etc/ipsec.d/aacerts/aaCert.pem' (1505 bytes)
109 2 Martin Willi
  loaded user cert file '/etc/openac/carolCert.pem' (1493 bytes)
110 2 Martin Willi
  file '/etc/openac/serial' does not exist yet - serial number set to 01
111 2 Martin Willi
  written attribute cert file '/etc/ipsec.d/acerts/carolAC.pem' (784 bytes)
112 2 Martin Willi
  serial number is 01
113 4 Martin Willi
</pre>
114 1 Martin Willi
115 4 Martin Willi
The second attribute certificate is issued to _dave_ who belongs to the _Sales_
116 4 Martin Willi
and _Accounting_ groups.
117 4 Martin Willi
<pre>
118 1 Martin Willi
moon# ipsec openac --optionsfrom default.conf --usercert /etc/openac/daveCert.pem \
119 1 Martin Willi
                   --groups "Sales, Accounting" --out /etc/ipsec.d/acerts/daveAC.pem
120 1 Martin Willi
  loaded private key file '/etc/openac/aaKey.pem' (1675 bytes)
121 1 Martin Willi
  loaded signer cert file '/etc/ipsec.d/aacerts/aaCert.pem' (1505 bytes)
122 1 Martin Willi
  loaded user cert file '/etc/openac/daveCert.pem' (1493 bytes)
123 1 Martin Willi
  written attribute cert file '/etc/ipsec.d/acerts/daveAC.pem' (787 bytes)
124 1 Martin Willi
  serial number is 02
125 4 Martin Willi
</pre>