Skip to main content

Keychain Overview

The Keychain tab is your central hub for managing SSH keys, SSL certificates, and cryptographic tools—all in one secure location.

What is Keychain?

Keychain is a dedicated tab in Xermius where you can:

Manage SSH Keys - Generate, import, and deploy SSH keys
Check SSL Certificates - Verify website SSL certificates
Read Certificate Files - Analyze local certificate files
Create CSRs - Generate Certificate Signing Requests
Deploy Keys - Distribute keys to multiple servers
Secure Storage - Keep all keys encrypted and organized

Accessing Keychain

From Main Interface

Method 1: Hosts Tab

Hosts Tab → Click "Keychain" button (top bar)

Method 2: Sidebar Menu

Main Menu → Keychain

Quick Access:

  • Keyboard: Ctrl/Cmd + K
  • Shows all keys and tools in one place

Keychain Interface

┌──────────────────────────────────────────────────────────┐
│ 🔑 Keychain [+ Generate ▼] │
├──────────────────────────────────────────────────────────┤
│ Search: [_____________________] | Type: [All ▼] │
├──────────────────────────────────────────────────────────┤
│ │
│ 🔑 Work - Production Key │
│ ED25519 | SHA256:abc123... | Last used: 2 hours ago │
│ [Deploy] [Export] [Details] │
│ │
│ 🔑 Personal GitHub Key │
│ RSA 4096 | SHA256:def456... | Last used: 5 days ago │
│ [Deploy] [Export] [Details] │
│ │
│ 🔑 Server Access Key │
│ ED25519 | SHA256:ghi789... | Last used: Yesterday │
│ [Deploy] [Export] [Details] │
│ │
└──────────────────────────────────────────────────────────┘

Main Features

1. SSH Keys Management

Generate new SSH keys:

Generate Key → Choose type (ED25519/RSA/ECDSA)
→ Set name and passphrase
→ Key ready to use

Import existing keys:

Import Key → Select key file or paste content
→ Add name and details
→ Key added to keychain

Deploy to servers:

Select key → Deploy
→ Choose target servers
→ Automatic deployment

Learn More: SSH Keys →


2. SSL Certificate Checker

Check website certificates:

Tools Menu → SSL Certificate Checker
→ Enter hostname (example.com)
→ View certificate details, expiry, chain
→ Check DNS records

Features:

  • Certificate details (issuer, subject, validity)
  • Expiration warnings
  • Certificate chain validation
  • DNS information
  • Fingerprint verification

Learn More: SSL Checker →


3. Certificate Reader

Analyze local certificate files:

Tools Menu → Certificate Reader
→ Drag & drop certificate file
→ View complete certificate information
→ Check expiration, self-signed status

Supported formats:

  • PEM (.pem, .crt, .cer)
  • DER (.der)
  • PKCS#7 (.p7b, .p7c)
  • PKCS#12 (.pfx, .p12)

Learn More: Certificate Reader →


4. Create CSR

Generate Certificate Signing Request:

Tools Menu → Create CSR
→ Fill certificate details (CN, O, OU, etc.)
→ Add Subject Alternative Names
→ Generate CSR + private key
→ Submit to Certificate Authority

Use cases:

  • Purchase SSL certificates
  • Renew existing certificates
  • Generate certificates for internal use

Learn More: Create CSR →


Quick Actions Menu

Click the dropdown arrow next to "Generate" button:

┌─────────────────────────────┐
│ Generate Key │ ← Create new SSH key
│ Import Key │ ← Import existing key
├─────────────────────────────┤
│ SSL Certificate Checker │ ← Check website SSL
│ Certificate Reader │ ← Read cert files
│ Create CSR │ ← Generate CSR
├─────────────────────────────┤
│ Export Keys │ ← Backup all keys
└─────────────────────────────┘

Common Workflows

Workflow 1: Setup New Server

Complete server setup:

1. Generate SSH key (Keychain → Generate)
2. Deploy key to server (Key → Deploy)
3. Test connection
4. Check server SSL cert (SSL Checker)
5. Document key usage

Workflow 2: SSL Certificate Management

Monitor SSL certificates:

1. Check website SSL (SSL Certificate Checker)
2. Note expiration date
3. Before expiry: Create CSR
4. Submit CSR to CA
5. Install new certificate
6. Verify with Certificate Reader

Workflow 3: Key Rotation

Rotate SSH keys periodically:

1. Generate new key
2. Deploy to all servers
3. Test new key works
4. Update all hosts to use new key
5. Remove old key from servers
6. Delete old key from keychain

Workflow 4: Certificate Verification

Verify certificates before deployment:

1. Receive certificate file from CA
2. Use Certificate Reader to inspect
3. Verify details (domain, expiry, issuer)
4. Check certificate chain
5. Deploy to server
6. Verify with SSL Checker

Organizing Keys

Search & Filter

Find keys quickly:

Search by:
- Key name
- Fingerprint
- Comment
- Creation date

Filter by:
- Key type (ED25519, RSA, ECDSA)
- Usage (recently used, unused)
- Has passphrase

Naming Convention

Best practices:

Good names:
✓ Work - Production Servers
✓ Personal - GitHub Access
✓ Client - ProjectName Deploy
✓ Internal - Database Servers

Bad names:
✗ key1
✗ id_rsa
✗ mykey

Comments

Add meaningful comments:

Comment examples:
- "For production web servers only"
- "GitHub deployment key - expires Dec 2024"
- "Shared key for team servers"
- "Client project - rotate monthly"

Security Features

Encrypted Storage

All keys are encrypted:

Private keys:
✓ Encrypted at rest
✓ Never stored in plain text
✓ Protected by master password (optional)
✓ OS keychain integration

Passphrase Protection

Add extra security:

Key with passphrase:
- Required when using key
- Prevents unauthorized use
- Can be saved to keychain (optional)
- Recommended for important keys

Access Control

Restrict key usage:

Options:
- Require authentication to view keys
- Lock keychain after inactivity
- Require master password
- Audit key usage (coming soon)

Best Practices

1. Use Strong Key Types

Recommended:

✓ ED25519 - Modern, fast, secure
✓ RSA 4096 - High security, universal
✓ ECDSA 521 - Good alternative

Avoid:
✗ RSA 2048 - Minimum, not recommended
✗ RSA 1024 - Weak, deprecated

2. Unique Keys Per Purpose

Separate keys for:

  • Work servers
  • Personal projects
  • Client projects
  • CI/CD systems
  • Emergency access

Don't:

  • Use one key for everything
  • Share keys between users
  • Reuse old keys

3. Regular Rotation

Rotation schedule:

Critical servers: Every 3 months
Standard servers: Every 6 months
Development: Every 12 months
Personal: Annually

4. Backup Keys

Backup strategy:

What to backup:
✓ Private keys (encrypted)
✓ Public keys
✓ Key metadata (names, comments)

Where:
✓ Secure offline storage
✓ Password manager
✓ Encrypted cloud storage

How often:
✓ After creating new keys
✓ Monthly full backup
✓ Before key rotation

5. Document Everything

Keep records:

For each key document:
- Purpose/usage
- Deployment locations
- Creation date
- Expiration date (if any)
- Responsible person
- Emergency contacts

Keyboard Shortcuts

ActionShortcut
Open KeychainCtrl/Cmd + K
Generate New KeyCtrl/Cmd + N
Import KeyCtrl/Cmd + I
Search KeysCtrl/Cmd + F
Deploy SelectedCtrl/Cmd + D
Export SelectedCtrl/Cmd + E
Delete KeyDelete
Refresh ListF5

Troubleshooting

Can't Find a Key

Issue: Key not showing in list

Solutions:

  1. Check search filters
  2. Clear search box
  3. Check filter type (All/ED25519/RSA/ECDSA)
  4. Refresh key list (F5)
  5. Check if key was deleted

Can't Deploy Key

Issue: Key deployment fails

Solutions:

  1. Verify server is reachable
  2. Check authentication (password/existing key)
  3. Ensure SSH port is correct (22)
  4. Check firewall rules
  5. Verify user permissions on server
  6. Try manual deployment

Passphrase Not Working

Issue: Passphrase rejected

Solutions:

  1. Verify passphrase is correct
  2. Check Caps Lock
  3. Try re-entering carefully
  4. Check if key has passphrase
  5. Remove passphrase and add new one

SSL Checker Timeout

Issue: SSL checker times out

Solutions:

  1. Verify hostname is correct
  2. Check port (usually 443)
  3. Ensure server is online
  4. Check firewall/network
  5. Try different network
  6. Increase timeout in settings

Hosts Management

Deploy keys to specific hosts:

Settings

Configure keychain behavior:

Import/Export

Migrate keys from other tools:

Next Steps

Choose what you want to learn:

SSH Keys

Certificates

Advanced


Pro Tip: Keep your keychain organized with clear naming conventions and regular backups. Use the SSL tools to monitor certificate expiration and prevent website downtime!