Project

General

Profile

openac » History » Version 5

Tobias Brunner, 05.05.2009 18:41
trac conversion errors fixed

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