From 2aff170c5461afe589b6fec4ebe63ffc565af1ce Mon Sep 17 00:00:00 2001 From: Christian Hohnstaedt Date: Tue, 10 Apr 2018 16:46:42 +0200 Subject: [PATCH] Fix typos in the documentation --- doc/xca-doc.tgz | Bin 25518 -> 25539 bytes doc/xca.sgml | 138 +++++++++++++++++++++++++----------------------- 2 files changed, 71 insertions(+), 67 deletions(-) diff --git a/doc/xca-doc.tgz b/doc/xca-doc.tgz index 3ce78e29191e6f4cb05bc6641026941c5ce79594..06c276d3fcb2408241ab973c0c2beeec2a4dd4a8 100644 GIT binary patch literal 25539 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 -This application is intended for creating and managing X.509 certificates, certificate requests, RSA, DSA and EC private keys, Smartcards and CRLs. +This application is intended for creating and managing X.509 certificates, certificate requests, RSA, DSA and EC private keys, Smart-cards and CRLs. Everything that is needed for a CA is implemented. All CAs can sign sub-CAs recursively. These certificate chains are shown clearly. -For an easy company-wide use there are customiseable templates that can be used for certificate or request generation. -All crypto data is stored in a SQL database. -SQLite, MySQL and PostgreSQL databases are supported. +For an easy company-wide use there are customisable templates that can be used for certificate or request generation. +All cryptographic data is stored in a SQL database. +SQLite, MySQL (MariaDB) and PostgreSQL databases are supported. @@ -41,7 +41,7 @@ private keys in the database. This is the default password. Every time this database is opened the application asks for the password. This input dialog may be canceled and the database is still opened successfully. However, the access to the keys is not possible without supplying the -correct database password everytime a key is used. +correct database password every time a key is used.

When setting an empty password, XCA will never ask again for a password @@ -153,14 +153,14 @@ Thank you very much.

Older versions of XCA used a simple serial -proprietary database for storing the crypto items. +proprietary database for storing the cryptographic items. Starting with version 2.0.0 this has changed to SQL. For file based databases the SQLite database format is used. Since XCA uses SQL, it can also be connected to a network database. The databases mySQL and PostgreSQL are tested. Please use the Open Remote DataBase menu item to connect to a remote host. The main disadvantage of the old format leading to the switch to SQL -was the inaccessability by external tools. Since years users ask for +was the inaccessibility by external tools. Since years users ask for command-line access to the database. The new database can be queried by external tools like sqlite3 or sqlitebrowser @@ -170,7 +170,7 @@ Please see

When opening a legacy database, it will be converted to the new format after -backiing up the original database. +backing up the original database. Please be careful with older XCA versions. XCA before 1.4.0 will overwrite the new SQLite database during database open. @@ -216,8 +216,8 @@ XCA seeds it very thoroughly. A .rnd state file in the XCA application directory is read on startup and erased afterwards to avoid replays. - Before any key or parameter generation a "reseeding" - is done. Some say reseeding is not neccessary, but + Before any key or parameter generation a "re-seeding" + is done. Some say re-seeding is not necessary, but all say it does not harm. XCA collects entropy by mouse and keyboard events and its timing. @@ -254,21 +254,21 @@ Next to the usual X command line options. There are the following -d set the database filename (only needed to create a new db) -x exit after processing all command line options -i creates an OpenSSL index file containing all certificates - -I creates an OpenSSL index file for each ca in the given, - existing directory containing all issued certitifactes. + -I creates an OpenSSL index file for each CA in the given, + existing directory containing all issued certificates. There are some deprecated legacy options: [ -k ] [ -r ] [ -c ] [ -p ] [ -7 ] [ -l ] [ -t ] [ -P ] Before XCA 0.9.0, the type of the items had to be given. This was removed since. -Just put all keys, certs, requests and the database unsorted on the commandline. +Just put all keys, certificates, requests and the database unsorted on the command-line. For backwards compatibility those options are ignored when found.

-Usually after importing the items from commandline +Usually after importing the items from command-line the application will startup as usual. With the -x -option given it will exit after finishing the import dialog. This is useful if xca is used as default application for viewing certificates, keys or requests. +option given it will exit after finishing the import dialog. This is useful if XCA is used as default application for viewing certificates, keys or requests.

@@ -279,11 +279,11 @@ option given it will exit after finishing the import dialog. This is useful if x The sqlitebrowser may be used to examine the elements of the database. The database schema is documented . -All crypto items are stored as base64 der format and must be -decoded before feeding openssl: | base64 -d | openssl <x509|req|crl|pkcs8> -inform DER ... +All cryptographic items are stored as base64 DER format and must be +decoded before feeding them to OpenSSL: | base64 -d | openssl <x509|req|crl|pkcs8> -inform DER ...

-Extract a private key from the database +Extract the private key with internal name 'pk8key' from the database sqlite3 ~/xca.xdb "SELECT private FROM view_private WHERE name='pk8key'" | base64 -d | openssl pkcs8 -inform DER @@ -310,7 +310,7 @@ column "Primary key" that may be shown to get the ID of the item in the database

-Many actions are common to all crypto parts and are mentioned here once for all. +Many actions are common to all cryptographic parts and are mentioned here once for all. The goal of this application is to provide an easy to use signing-tool and also a common place for all selected PKI items like requests or certificates. @@ -319,15 +319,19 @@ also a common place for all selected PKI items like requests or certificates.

Column visibility can be changed by the context menu of the table header -or the "columns" submenu of the table context menu. -It shows all available columns with checkboxes to show or hide them. +or the "columns" sub menu of the table context menu. +It shows all available columns with check-boxes to show or hide them. - Common columns: + Column actions: Reset: Reset column order and visibility to the default. Hide Column: Hide the current column. Only shown in the context menu of the column header + + + Common columns: + Internal name: Name of the item in the database. No.: A simple counter to easily count the items. Primary key: Unique number to identify an item in the @@ -336,7 +340,7 @@ It shows all available columns with checkboxes to show or hide them. See Source: Origin of this item. See . - Comment: A multiline free text input, see . + Comment: A multi-line free text input, see . Private Key columns: @@ -417,10 +421,10 @@ After selecting the filename XCA will probe for the known formats of that item and in case of an error it prompts the last OpenSSL error message. It is possible to select more than one file by selecting them with SHIFT click. -Also the Import menu may be used to load items. Next to the filetypes +Also the Import menu may be used to load items. Next to the file-types above, it also supports PEM import. PEM describes the encoding -instead of the filetype. So a PEM file can be any type of private key, crl -certificate or csr. This import facility discovers the type and loads it. +instead of the file-type. So a PEM file can be any type of private key, CRL +certificate or CSR. This import facility discovers the type and loads it.

@@ -441,7 +445,7 @@ containing the internal name of this item in the database. The details dialog can be accessed by double clicking the item, by the context menu or by the button on the right. -The names of the issuers certificate and the corresponding key are clickable and their +The names of the issuers certificate and the corresponding key are click-able and their content will be shown on "double-click" Renaming an Item @@ -517,7 +521,7 @@ When inserting an item into the database a new, unique id will be generated and used as primary key in the database. If the item shall be found in the database by external tools, the items.id can be used to uniquely identify the item. -The internal name cannot be used, since it is not neccessarily unique anymore. +The internal name cannot be used, since it is not necessarily unique anymore. This ID will never be used outside the database. @@ -735,14 +739,14 @@ be translated to OpenSSL config file format. -Smartcards (Security Tokens) +Smart-cards (Security Tokens)

-Since XCA 0.8.0 the use of Smartcards (Security tokens) is supported. +Since XCA 0.8.0 the use of Smart-cards (Security tokens) is supported. It is based on the PKCS#11 standard. The Options dialog contains a list to add one or more PKCS#11 providers (libraries). -This is not restricted to Smartcards but includes all type of security tokens like USB tokens. +This is not restricted to Smart-cards but includes all type of security tokens like USB tokens. Up to version 1.0.0 only RSA keys on security tokens were supported. Since version 1.1.0 XCA also supports EC and DSA private keys on security tokens. @@ -755,7 +759,7 @@ For me everything worked fine and I tested it thoroughly. On Linux the package opensc should be installed. Please read the opensc documentation for more details. -Generally: if the opensc commandline-tool "pkcs11-tool -L" shows reasonable output, XCA will work. +Generally: if the opensc command-line-tool "pkcs11-tool -L" shows reasonable output, XCA will work. Otherwise fix the opensc setup. I had a functional setup with a "Reiner SCT" and a DELL keyboard with integrated card reader and TCOS Netkey E4 cards. I also used Aladdin Etoken very successfully (Thanks for support!). The Aladdin PKCS#11 library supports all needed features very well. @@ -770,16 +774,16 @@ Before the keys of a token can be used, they must be imported into XCA. This means that XCA reads the token and shows the keys and certificates on the token. They can then be imported partially or completely via the Multi-import dialog to be used by XCA. -It is not unusal that a token contains more than one key or certificate. +It is not unusual that a token contains more than one key or certificate. It is of course possible to create your own keys on the token. When selecting a token-key for signing, XCA verifies that the corresponding token is available. -If the Card reader supports a secure PIN input by a builtin keyboard, +If the Card reader supports a secure PIN input by a built-in keyboard, it will be used by XCA and it will not ask for the PIN but waits for the Pin-pad input. -The following actions with smartcards are supported: +The following actions with smart-cards are supported: Import keys and certificates from the token. @@ -812,14 +816,14 @@ the corresponding private key on the card is selected and a PIN must be entered.

Accordingly, every time a key is generated on the card, -a public/private keypair is generated. +a public/private key-pair is generated. Every time a key is stored on the card, XCA creates a public and a private key object.

Firefox always only looks for private keys on the card. -If XCA does not show a key, which is however recognized by firefox +If XCA does not show a key, which is however recognized by Firefox a missing public-key object is the cause. The Token Menu @@ -828,7 +832,7 @@ a missing public-key object is the cause. The menu item: Token is accessible if a PKCS#11 library was loaded and initialized. -Managing Smartcards +Managing Smart-cards

@@ -875,7 +879,7 @@ The following providers were used for testing: OpenSC: default provider for a lot of different cards and - readers. Deleting keys or certs is currently not supported. + readers. Deleting keys or certificates is currently not supported. The support of Netkey 4E cards is currently restricted. Only import and using the keys and certificates @@ -933,9 +937,9 @@ I initialized the token as follows:

- Enable PKCS#11 token in firefox: + Enable PKCS#11 token in Firefox: Edit->Preferences->Advanced: - (SecurityDevices): (Load) Load PKCS#11 Device: + (Security Devices): (Load) Load PKCS#11 Device: /usr/lib/libeTPkcs11.so Import CA certificate: Edit->Preferences->Advanced: (View Certificates) (Authorities): (Import) @@ -951,7 +955,7 @@ SSLVerifyClient require SSLVerifyDepth 10 - Connect with firefox to the server. Firefox will prompt you + Connect with Firefox to the server. Firefox will prompt you to select one of the 2 client certificates. Both work. @@ -997,7 +1001,7 @@ The password can be changed for each key. The password type means: All keys carry a use counter which counts the times it is used. When creating new requests or certificates the list of available keys is reduced to -the keys with a use counter of 0. This can be overridden by the checkbox +the keys with a use counter of 0. This can be overridden by the check-box next to the key list.

@@ -1014,7 +1018,7 @@ password type is private.

-The dialog asks for the internal name of the key and the keysize in bits. +The dialog asks for the internal name of the key and the key-size in bits. For EC keys, a list of curves is shown. It contains all X9.62 curves and many others.

@@ -1038,7 +1042,7 @@ when generating token keys.

For every connected token providing the Key-generate facility an entry in the -drop-down menu of the keytypes will be shown. +drop-down menu of the key-types will be shown. It contains the name of the token and the valid key-sizes.

@@ -1046,7 +1050,7 @@ It contains the name of the token and the valid key-sizes. In case of EC keys generated on a token, the list of possible curves is restricted based on informations provided by the token (Key size and FP/F2M). The token may support even less ECParameters / OIDs. When selecting an EC curve -not supported by the token an error will occure. +not supported by the token an error will occur. Please consult the documentation of the provider of the PKCS#11 library. Key Export @@ -1057,7 +1061,7 @@ Keys can be exported by either selecting the key and pressing Export or by using the context-menu. It may be chosen to export the key to the clipboard as PEM public, SSH2 public or unencrypted PEM private format. -In case of a file export a dialogbox opens where next to the filename one of the +In case of a file export a dialog-box opens where next to the filename one of the following formats may be selected: @@ -1073,7 +1077,7 @@ following formats may be selected: The filename is the internal name plus a pem, der, pk8 or pub suffix. -When changing the fileformat, the suffix of the filename changes accordingly. +When changing the file-format, the suffix of the filename changes accordingly. Only PKCS#8 or PEM files can be encrypted, because the DER format (although it could be encrypted) does not support a way to supply the encryption algorithm @@ -1094,7 +1098,7 @@ includes personal information, they public key and additional extensions.

-It is not neccessary to generate a request prior to signing it by your CA +It is not necessary to generate a request prior to signing it by your CA or before self-signing it. Simply start generating the certificate directly. People using the OpenSSL command line tools, are used to generate a request with "openssl req -new ..." and then signing it . This is not necessary with XCA. @@ -1122,7 +1126,7 @@ Requests can be exported by the context-menu or by the button on the right. Clipboard Writes all selected requests in PEM format to the Clipboard. File Write the request into a file in PEM or DER format. -OpenSSL config Create and store an OpenSSL config file which can be used to generate a similar request with openssl (openssl req -new -config <file>) +OpenSSL config Create and store an OpenSSL configuration file which can be used to generate a similar request with openssl (openssl req -new -config <file>) Request Transformation @@ -1141,7 +1145,7 @@ A request transformation creates a new database entry based on the selected requ

-All information contained in the request are shown. If the keystore contains +All information contained in the request are shown. If the key-store contains the private key corresponding to the request the keys internal name is shown in the Key field. @@ -1163,13 +1167,13 @@ the client certificates can be shown by clicking on the plus sign of the CA cert XCA will recognize CA certificates if the CA flag in the Basic Constraints is set to true. If there is a corresponding private key, the CA -submenu in the context-menu will be enabled. +sub-menu in the context-menu will be enabled.

For building the chains the CA flag is disregarded, because there are some CAs without this flag. -Instead it consideres the issuer name and the signature to decide which certificate is the issuer. +Instead it considers the issuer name and the signature to decide which certificate is the issuer. In case of more than one possible issuer, the one with the latest expiry date will be used as issuer to collect all issued certificates. @@ -1219,9 +1223,9 @@ The filename can be selected in the export dialog and the Export format: PEM with Certificate chain - PEM encoded certificate and all issuers up to the root certificate in one file PEM all trusted Certificates - List of all PEM encoded - certificates that are marked als Always trusted + certificates that are marked as Always trusted (usually all self-signed certificates) in one file for e.g. - apache as trusted cert store. + apache as trusted certificate store. PEM all Certificates - All PEM encoded certificates in one file. DER - DER encoded certificate. @@ -1232,7 +1236,7 @@ The filename can be selected in the export dialog and the Export format: certificate and all issuers up to the root certificate. PKCS#7 all trusted Certificates - DER encoded PKCS#7 structure containing all - certificates that are marked als Always trusted + certificates that are marked as Always trusted PKCS#7 all Certificates - DER encoded PKCS#7 structure containing all certificates. PKCS#12 - PKCS#12 structure containing the certificate @@ -1284,7 +1288,7 @@ the number of selected certificates in squared brackets.

-To generate a CRL, revoke the appropriate certificates and select CA->GenerateCRL in the context-menu of the signing certificate. +To generate a CRL, revoke the appropriate certificates and select CA->Generate CRL in the context-menu of the signing certificate. Certificate renewal @@ -1294,7 +1298,7 @@ Certificates can only be renewed, if the private key of the issuer's certificate is available. Renewal is done by creating a new certificate as a copy of the original one with adjusted validity dates. -Use the Revoke old certificate checkbox to automatically revoke the old +Use the Revoke old certificate check-box to automatically revoke the old certificate. If more than one certificate of the same issuer is selected, all of them will be renewed @@ -1305,7 +1309,7 @@ the number of selected certificates in squared brackets.

-The context menu of CA certificates contains the CA submenu, +The context menu of CA certificates contains the CA sub-menu, which makes the following functions available: @@ -1453,9 +1457,9 @@ The CRL expiration date will be marked red 2 days before expiration.

It is usually more clear to read "commonName" instead of e.g (german) "Allgemeine Bezeichnung". Same is true for "Extended key usage" or "Basic constraints". -With this setting the translated terms are shown and the ToolTip of the +With this setting the translated terms are shown and the Tool-Tip of the entry shows the established term. If not set, the established term will be displayed -and the ToolTip contains the translation. +and the Tool-Tip contains the translation.

@@ -1485,7 +1489,7 @@ will be suppressed. The certificate input dialog has no Netscape tab, the request and certificate columns don't show the Netscape extensions and when applying a template or converting certificates, the Netscape extensions are removed. -However, the details of certificates and requests still show the netscape extensions if they exist. +However, the details of certificates and requests still show the Netscape extensions if they exist.

@@ -1528,7 +1532,7 @@ usage can be added in files listed below. The files are: - oids.txt addidtional Object IDs + oids.txt additional Object IDs eku.txt Content of ExtendedKeyUsage dn.txt Content of DistinguishedName @@ -1596,7 +1600,7 @@ The format of this files is one entry per line. The entry can be either the numerical OID like 1.3.6.1.5.5.8.2.2, the short name like iKEIntermediate or the long name IP security end entity. Lines starting with a # are ignored. -If this files shall contain new inofficial OIDs, they must be also mentioned +If this files shall contain new in-official OIDs, they must be also mentioned in one of the oids.txt files.

@@ -1613,7 +1617,7 @@ entry to your certificate it can be done without recompiling XCA. of the oids.txt file listed in like: 1.3.6.1.4.1.12345.1: zodiacSign: Zodiac Sign Add the OID, short name or long name to the first read dn.txt - On linux: cp /usr/share/xca/dn.txt ~/.xca/dn.txt && echo "zodiacSign" >> ~/.xca/dn.txt + On Linux: cp /usr/share/xca/dn.txt ~/.xca/dn.txt && echo "zodiacSign" >> ~/.xca/dn.txt Start XCA, open your database and goto Options->Distinguished name. In the Explicit subject entries select Zodiac Sign, click Add, move it by dragging it in the list and click OK when satisfied. Create a new certificate and see. @@ -1658,7 +1662,7 @@ the applicable standards. The Time Range is probably fine (10 years). If you want to change the duration, then change it and click Apply. - The CRL distribtion point will be part of the issued certificates. + The CRL distribution point will be part of the issued certificates. It should however be thought about a common URL for all of them like http://www.example.com/crl/crl.der Click the OK button at the bottom. @@ -1738,7 +1742,7 @@ certificate.

This procedure is almost identical to that of creating a CA-Signed -certficate with the following exceptions: +certificate with the following exceptions: When creating certificate, select "Create a self signed certificate"