Add usage examples documentation
This commit is contained in:
135
EXAMPLES.md
Normal file
135
EXAMPLES.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# Usage Examples
|
||||
|
||||
## Example 1: Creating a certificate for a new server (Interactive)
|
||||
|
||||
```bash
|
||||
./cert-manager.py
|
||||
```
|
||||
|
||||
**Session output:**
|
||||
```
|
||||
============================================================
|
||||
Interactive Certificate Manager
|
||||
============================================================
|
||||
|
||||
--- Certificate Details ---
|
||||
Target Host (IP or hostname): 192.168.1.50
|
||||
Common Name (FQDN): webserver.egonetix.lan
|
||||
|
||||
--- Certificate Subject (press Enter to use defaults) ---
|
||||
Country (C) [DE]:
|
||||
State/Province (ST) [berlin]:
|
||||
Locality (L) [berlin]:
|
||||
Organization (O) [egonetix]:
|
||||
Organizational Unit (OU) [it]:
|
||||
Validity (days) [3650]:
|
||||
|
||||
============================================================
|
||||
Summary:
|
||||
============================================================
|
||||
Target Host: 192.168.1.50
|
||||
Common Name: webserver.egonetix.lan
|
||||
Country: DE
|
||||
State: berlin
|
||||
Locality: berlin
|
||||
Organization: egonetix
|
||||
Org Unit: it
|
||||
Validity: 3650 days
|
||||
CA Server: 10.0.0.21
|
||||
Output files: webserver.req, webserver-cert.pem
|
||||
============================================================
|
||||
|
||||
Proceed with certificate generation? [Y/n]: y
|
||||
|
||||
============================================================
|
||||
Step 1: Generating CSR on target host
|
||||
============================================================
|
||||
[Generates CSR on 192.168.1.50...]
|
||||
|
||||
============================================================
|
||||
Step 2: Signing certificate with CA
|
||||
============================================================
|
||||
[Signs certificate with UCS CA...]
|
||||
|
||||
============================================================
|
||||
Step 3: Deploying certificate to target host
|
||||
============================================================
|
||||
Do you want to copy the certificate back to the target host? [Y/n]: y
|
||||
|
||||
✓ Certificate copied to target host at /tmp/webserver.crt
|
||||
Private key is at /tmp/webserver.key
|
||||
|
||||
============================================================
|
||||
✓ Certificate Management Complete!
|
||||
============================================================
|
||||
|
||||
Files created:
|
||||
- webserver.req (Certificate Request)
|
||||
- webserver-cert.pem (Signed Certificate)
|
||||
|
||||
On target host (192.168.1.50):
|
||||
- /tmp/webserver.key (Private Key)
|
||||
- /tmp/webserver.crt (Certificate)
|
||||
```
|
||||
|
||||
## Example 2: Using standalone scripts
|
||||
|
||||
### Generate CSR only:
|
||||
```bash
|
||||
./generate-csr.sh 10.0.0.1 gwnue01.egonetix.lan
|
||||
```
|
||||
|
||||
### Sign existing CSR:
|
||||
```bash
|
||||
./sign-cert.sh gwnue01.req gwnue01 3650
|
||||
```
|
||||
|
||||
## Example 3: Changing default values
|
||||
|
||||
First run with modified defaults:
|
||||
```bash
|
||||
./cert-manager.py
|
||||
```
|
||||
|
||||
Answer "y" to "Do you want to modify default values?"
|
||||
|
||||
Set your new defaults (e.g., different organization, longer validity period).
|
||||
|
||||
These defaults are saved in `~/.cert-manager-config.json` and will be used for all future runs.
|
||||
|
||||
## Example 4: Batch processing
|
||||
|
||||
For multiple certificates, create a wrapper script:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# batch-certs.sh
|
||||
|
||||
hosts=(
|
||||
"10.0.0.1:gwnue01.egonetix.lan"
|
||||
"10.0.0.10:nas.egonetix.lan"
|
||||
"10.0.0.20:monitoring.egonetix.lan"
|
||||
)
|
||||
|
||||
for entry in "${hosts[@]}"; do
|
||||
host="${entry%%:*}"
|
||||
fqdn="${entry##*:}"
|
||||
|
||||
echo "Processing $fqdn on $host..."
|
||||
./generate-csr.sh "$host" "$fqdn" DE berlin berlin egonetix it
|
||||
|
||||
shortname=$(echo "$fqdn" | cut -d'.' -f1)
|
||||
./sign-cert.sh "${shortname}.req" "$shortname" 3650
|
||||
|
||||
echo "Done with $fqdn"
|
||||
echo ""
|
||||
done
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
1. **First run:** Use the interactive tool to set up your defaults
|
||||
2. **Repeated certificates:** The tool remembers your last target/common name
|
||||
3. **Different organizations:** Modify defaults when needed for specific use cases
|
||||
4. **Automation:** Use the standalone scripts for scripting/automation
|
||||
5. **Verification:** Always check the certificate details after generation
|
||||
Reference in New Issue
Block a user