O tusitusiga shell mo le fa'agaioia o se Fa'amalosia o Tusi Faamaonia (CA) e fa'ate'a mai le initaneti ma le ea i luga o OpenBSD fa'aaoga OpenSSL. O le tulaga o le fa'ate'aina e lolomiina e ala i se OpenBSD OCSP Server tu'usa'o. O fa'afouina e fe'au'au'a i le va o le masini CA e fa'ate'a ai ma le masini o le OCSP server e ala i se fu'a USB.
🌐 Language / Sprache / Langue / Idioma / Língua / Lingua / 語言 / 언어 / भाषा / Язык / لغة / Lugha / 言語 / Lang / Wika / ʻŌlelo / Gagana / Reo / Taal / Harshe / ቋንቋ / Èdè / ভাষা / 语言 / Keel / Kieli / Språk / Мова / ภาษา / Bahasa / Wika / Bahasa / Basa / Γλώσσα / Lingua / שפה / Teanga
| 🇺🇸 English | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇷 Français | 🇵🇹 Português |
| 🇮🇹 Italiano | 🇭🇰 繁體中文 | 🇰🇷 한국어 | 🇮🇳 हिन्दी | 🇷🇺 Русский |
| 🇸🇦 العربية | 🌍 Kiswahili | 🇯🇵 日本語 | 🇭🇹 Kreyòl ayisyen | 🌺 ʻŌlelo Hawaiʻi |
| 🌊 Gagana Sāmoa | 🌿 Te Reo Māori | 🇿🇦 Afrikaans | 🇳🇱 Nederlands | 🌍 Hausa |
| 🇪🇹 አማርኛ | 🌍 Yorùbá | 🇧🇩 বাংলা | 🇨🇳 简体中文 | 🇪🇪 Eesti |
| 🇫🇮 Suomi | 🇸🇪 Svenska | 🇳🇴 Norsk | 🇺🇦 Українська | 🇹🇭 ภาษาไทย |
| 🇮🇩 Bahasa Indonesia | 🇵🇭 Filipino | 🇲🇾 Bahasa Melayu | 🌏 Basa Jawa | 🇬🇷 Ελληνικά |
| 📜 Latina | 🇮🇱 עברית | 🇮🇪 Gaeilge |
┌─────────────────────────────┐ Fu'a USB ┌──────────────────────────┐
│ Masini CA (fa'ate'a) │ ───────────────────► │ Masini OCSP Server │
│ (OpenBSD, fa'ate'a ea) │ export-to-usb.sh │ (OpenBSD, feso'ota'i) │
│ │ ◄─────────────────── │ │
│ /root/ca/ │ ave faaletino │ /etc/ocsp/ │
│ openssl.cnf │ │ index.txt │
│ certs/ca.cert.pem │ │ *.crl.pem │
│ intermediate-*/ │ │ *-responder.crt │
│ index.txt │ │ OcspServer (ASP.NET) │
│ crl/ │ │ rcctl enable ocspserver │
│ certs/ │ │ │
│ ocsp/ │ │ │
└─────────────────────────────┘ └──────────────────────────┘
E fa'aogaina masini uma OpenBSD. Fa'apipi'i OpenSSL afai e le'i i ai:
pkg_add opensslE manaomia fo'i e le masini OCSP server le
OpenBSDOCSPServer na fa'apipi'i ma
fa'amaonia o se tautua rc.d e ta'ua ocspserver.
E fa'aogaina tusitusiga uma #!/bin/sh (OpenBSD /bin/sh e fa'atatau i ksh), mea
galuega masani OpenBSD (mount_msdos, sha256, rcctl, doas), ma openssl(1).
Fa'agasolo tusitusiga uma o le a root e ala i doas.
scripts/
setup-ca.sh Fa'amalo fa'atonuga CA a'mata ma gaosia le ki/tusi faamaonia a'mata
create-intermediate-ca.sh Fai se CA vaeluagalemu ua sainia e le CA a'mata
create-server-cert.sh Tu'uina atu se tusi faamaonia o le TLS server (mTLS)
create-client-cert.sh Tu'uina atu se tusi faamaonia o le tagata fa'aogaina (mTLS)
revoke-cert.sh Fa'ate'a se tusi faamaonia ma toe gaosia le CRL
export-to-usb.sh Fa'apotopoto fa'amaumauga CA i USB mo fe'au'au'a fa'ate'a ea (itu CA)
import-from-usb.sh Fa'aulufale mai USB i le OCSP server (itu OCSP server)
config/
openssl-root.cnf.template Fa'ata'ita'i fa'atulagaina OpenSSL mo CA a'mata
openssl-intermediate.cnf.template Fa'ata'ita'i fa'atulagaina OpenSSL mo CA vaeluagalemu
Saunia au tau deployment aʻo leʻi tamoʻe laasaga o loo i lalo:
-
O fea o le a iai le CA?
default:/root/ca
moni: -
O le ā le faalapotopotoga ma o fea e iai?
default:My Organization
moni: -
O le ā le igoa o le poloketi?
default:MY PROJECT
moni: -
O afea le aso version o le poloketi?
default:01012027
moni: -
O le ā le TLD?
default:example.com
moni: -
O le ā le subdomain?
default:app.
moni: -
O le ā le imeli mo tagata faaaoga a le client?
default:user@example.com
moni: -
O fea le USB mo le fesiitaiga?
default:/dev/sd1i
moni:
doas sh scripts/setup-ca.sh /root/ca \
"/C=US/ST=MyState/L=MyCity/O=My Organization/CN=My Organization Root CA"Fausia /root/ca/, gaosia se ki a'mata e 4096-bit ua fa'aoga AES-256, se tusi
faamaonia sainia e ia lava e aoga mo le 20 tausaga, ma se tusi faamaonia sainia OCSP
mo le CA a'mata.
doas sh scripts/create-intermediate-ca.sh MY-PROJECT 01012027 /root/ca \
"/C=US/ST=MyState/L=MyCity/O=My Organization/CN=My Organization Intermediate CA MY-PROJECT 01012027"O faila e faia i lalo o /root/ca/intermediate-MY-PROJECT-01012027/.
doas sh scripts/create-server-cert.sh MY-PROJECT 01012027 \
app.example.com \
"DNS:app.example.com,DNS:www.example.com" \
/root/caFa'ao'o i le fa'atonuga CA vaeluagalemu:
private/app.example.com.01012027.key.pem— ki tumu ua fa'ailoga fa'aulufalecerts/app.example.com.01012027.cert.pem— tusi faamaonia ua sainiacerts/app.example.com.01012027.server.full.pfx— fa'apotopotoga PKCS#12
doas sh scripts/create-client-cert.sh MY-PROJECT 01012027 \
user@example.com /root/caToe fai mo tagata fa'aogaina ta'itasi. Feaveai fa'apotopotoga .full.pfx ta'itasi i
le tagata fa'aogaina e fetaui ai e ala i se auala saogalemu.
doas sh scripts/revoke-cert.sh MY-PROJECT 01012027 \
certs/client-user@example.com.01012027.cert.pem \
keyCompromise /root/caFa'afou le CRL e aunoa ma le fa'ate'aina (e.g. i luga o se fa'atulaga):
doas sh scripts/revoke-cert.sh MY-PROJECT 01012027 --crl-only /root/caFa'aulufale se fu'a USB ua fa'atulatulagaina FAT32. Fa'amaonia le masini:
dmesg | tail -20 # su'e laina "sd1 at ..."
disklabel sd1 # iloa le vaega FAT32 (masanini 'i')Ona ave ese ai lea:
doas sh scripts/export-to-usb.sh MY-PROJECT 01012027 /root/ca /dev/sd1iTusia e le tusitusiga se lisi SHA256 ma aveese le fu'a saogalemu. Ave faaletino le fu'a USB i le masini OCSP server.
dmesg | tail -20 # fa'amaonia le igoa o masini USB
disklabel sd1
doas sh scripts/import-from-usb.sh /dev/sd1i /etc/ocsp ocspserverSiaki e le tusitusiga le fa'amaumauga SHA256, kopi faila fa'afouina i /etc/ocsp/,
ma toe fa'aola le daemon ocspserver e ala i rcctl. Afai o EnableIndexTxtWatch
o le true i appsettings.json, o le a maua fo'i e le OCSP server suiga o
index.txt otometi e aunoa ma se toe fa'aola.
openssl ocsp \
-issuer /etc/ocsp/intermediate-MY-PROJECT-01012027/ca-chain.cert.pem \
-cert /path/to/cert.pem \
-url http://localhost:2560 \
-resp_text| Faila | Fa'ata'ita'i |
|---|---|
| Ki CA Vaeluagalemu | intermediate-PROJECT-DATE.key.pem |
| Tusi Faamaonia CA Vaeluagalemu | intermediate-PROJECT-DATE.cert.pem |
| Fusi Tusi Faamaonia | ca-chain-PROJECT-DATE.cert.pem |
| Tusi Faamaonia Server | SERVER_DOMAIN.DATE.cert.pem |
| PKCS#12 Server | SERVER_DOMAIN.DATE.server.full.pfx |
| Tusi Faamaonia Tagata Fa'aogaina | client-USER_EMAIL.DATE.cert.pem |
| PKCS#12 Tagata Fa'aogaina | client-USER_EMAIL.DATE.full.pfx |
| CRL | intermediate.crl.pem / intermediate.crl.der |
| Tusi Faamaonia Sainia OCSP | INTER_NAME-ocsp.cert.pem |
- E le tatau lava ona feso'ota'i le masini CA fa'ate'a i se feso'ota'iga.
- O ki tumu a'mata ma vaeluagalemu ua fa'ailoga fa'aulufale AES-256. Teu fa'aupuga i se fa'amaufa'ailoga masini po'o se pusa saogalemu faaletino, tu'usa'o mai ki.
- Siaki pea le fa'amaumauga SHA256 o le fu'a USB a'o le'i fa'aulufale — faia lea
e
import-from-usb.shotometi fa'aaogasha256 -COpenBSD. - E muta le CRL pe a uma le 30 aso e fa'aaogaina ai. Fa'atulaga toe fa'afouina o
le CRL i taimi mea uma:
doas sh scripts/revoke-cert.sh MY-PROJECT DATE --crl-only # ona export-to-usb + import-from-usb - E muta tusi faamaonia sainia OCSP pe a uma le 375 aso. Fa'afou i le toe fa'agasolo
o
create-intermediate-ca.shfa'aaoga le auivi tutusa; o laasaga ua mae'a uma e solomuli ma gaosia se tusi faamaonia OCSP fou pe a manaomia.