Nā palapala shell no ka hoʻohana ʻana i kahi Hale Hōʻoia Palapala (CA) i kaʻawale loa mai ka pūnaewele ma OpenBSD me OpenSSL. Hōʻike ʻia ke kūlana hoʻopau ʻia ma o kahi OpenBSD OCSP Server kaʻawale. Hoʻoneʻe ʻia nā hoʻonui ʻana ma waena o ka mīkini CA kaʻawale a me ka mīkini kikowaena OCSP ma o kahi lawe ʻikepili 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 |
┌─────────────────────────────┐ Lawe ʻikepili USB ┌──────────────────────────┐
│ Mīkini CA (kaʻawale) │ ───────────────────► │ Mīkini Kikowaena OCSP │
│ (OpenBSD, kaʻawale loa) │ export-to-usb.sh │ (OpenBSD, pūnaewele) │
│ │ ◄─────────────────── │ │
│ /root/ca/ │ lawe kino │ /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/ │ │ │
└─────────────────────────────┘ └──────────────────────────┘
Hoʻohana nā mīkini ʻelua i OpenBSD. E hoʻokomo i OpenSSL ke ʻole ia:
pkg_add opensslPono hoʻi ka mīkini kikowaena OCSP i ke
OpenBSDOCSPServer i hoʻokomo ʻia a
hoʻopaʻa ʻia ma ke ʻano he lawelawe rc.d i kapa ʻia ocspserver.
Hoʻohana nā palapala a pau i #!/bin/sh (ka /bin/sh kumu ksh o OpenBSD), nā
mea lawelawe maʻamau o OpenBSD (mount_msdos, sha256, rcctl, doas), a me
openssl(1). E hoʻohana i nā palapala a pau ma ke ʻano he root ma o doas.
scripts/
setup-ca.sh Hoʻomaka nā papa kuhikuhi CA kumu a hana i ke kī/palapala kumu
create-intermediate-ca.sh Hana i kahi CA waena i pēpē ʻia e ka CA kumu
create-server-cert.sh Hoʻopuka i kahi palapala kikowaena TLS (mTLS)
create-client-cert.sh Hoʻopuka i kahi palapala mea kōkua (mTLS)
revoke-cert.sh Hoʻopau i kahi palapala a hana hou i ka CRL
export-to-usb.sh Hoʻopaʻa i nā ʻikepili CA ma USB no ke kaʻawale (ʻaoʻao CA)
import-from-usb.sh Lawe mai USB i ke kikowaena OCSP (ʻaoʻao kikowaena OCSP)
config/
openssl-root.cnf.template Kīʻaha hoʻonohonoho OpenSSL no ka CA kumu
openssl-intermediate.cnf.template Kīʻaha hoʻonohonoho OpenSSL no ka CA waena
E hoʻomākaukau i nā waiwai hoʻokuʻu ma mua o ka holo ʻana i nā ʻanuʻu ma lalo nei:
-
Aia i hea ka CA?
default:/root/ca
maoli: -
He aha ka hui a aia i hea?
default:My Organization
maoli: -
He aha ka inoa papahana?
default:MY PROJECT
maoli: -
I ka lā hea ka mana (version) o ka papahana?
default:01012027
maoli: -
He aha ka TLD?
default:example.com
maoli: -
He aha ka subdomain?
default:app.
maoli: -
He aha ka leka uila no ka mea hoʻohana mea kūʻai?
default:user@example.com
maoli: -
Aia i hea ka USB no ka hoʻoili?
default:/dev/sd1i
maoli:
doas sh scripts/setup-ca.sh /root/ca \
"/C=US/ST=MyState/L=MyCity/O=My Organization/CN=My Organization Root CA"Hana ʻia /root/ca/, hana ʻia kahi kī kumu 4096-bit i hoʻopaʻa ʻia me AES-256,
kahi palapala i pēpē ʻia iā ia iho i kūpono no 20 makahiki, a me kahi palapala
pēpē OCSP no ka CA kumu.
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"Hana ʻia nā faila ma 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/caNā mea i puka ʻia i loko o ka papa kuhikuhi CA waena:
private/app.example.com.01012027.key.pem— kī pilikino i hoʻopaʻa ʻiacerts/app.example.com.01012027.cert.pem— palapala i pēpē ʻiacerts/app.example.com.01012027.server.full.pfx— pūʻolo PKCS#12
doas sh scripts/create-client-cert.sh MY-PROJECT 01012027 \
user@example.com /root/caE hoʻohana hou no kēlā me kēia mea hoʻohana. E lawe i kēlā me kēia pūʻolo .full.pfx
i ka mea hoʻohana kūpono ma o kahi ala palekana.
doas sh scripts/revoke-cert.sh MY-PROJECT 01012027 \
certs/client-user@example.com.01012027.cert.pem \
keyCompromise /root/caE hōʻhou i ka CRL me ka hoʻopau ʻole ʻana (no ka laʻana, ma ka manawa koʻikoʻi):
doas sh scripts/revoke-cert.sh MY-PROJECT 01012027 --crl-only /root/caE hoʻokomo i kahi lawe ʻikepili USB i hoʻonohonoho ʻia ma FAT32. E hōʻoia i ka hāmeʻa:
dmesg | tail -20 # e ʻimi i nā laina "sd1 at ..."
disklabel sd1 # e hoʻoiho i ka māhele FAT32 (maʻamau ʻo 'i')A laila e lawe aku:
doas sh scripts/export-to-usb.sh MY-PROJECT 01012027 /root/ca /dev/sd1iKākau ka palapala i kahi papa inoa SHA256 a wehe palekana i ka lawe ʻikepili. E lawe kino i ka lawe ʻikepili USB i ka mīkini kikowaena OCSP.
dmesg | tail -20 # e hōʻoia i ka inoa hāmeʻa USB
disklabel sd1
doas sh scripts/import-from-usb.sh /dev/sd1i /etc/ocsp ocspserverE nānā ka palapala i nā helu SHA256, kope i nā faila i hoʻonui ʻia i /etc/ocsp/,
a hoʻohou i ka daemon ocspserver ma o rcctl. Inā ʻo EnableIndexTxtWatch he
true ma appsettings.json, e lawe hou hoʻi ke kikowaena OCSP i nā hoʻololi
index.txt ma ka ʻano aunoa me ka hoʻohou hou ʻole.
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 | Kīʻaha |
|---|---|
| Kī CA Waena | intermediate-PROJECT-DATE.key.pem |
| Palapala CA Waena | intermediate-PROJECT-DATE.cert.pem |
| Kaʻa Palapala | ca-chain-PROJECT-DATE.cert.pem |
| Palapala Kikowaena | SERVER_DOMAIN.DATE.cert.pem |
| PKCS#12 Kikowaena | SERVER_DOMAIN.DATE.server.full.pfx |
| Palapala Mea Kōkua | client-USER_EMAIL.DATE.cert.pem |
| PKCS#12 Mea Kōkua | client-USER_EMAIL.DATE.full.pfx |
| CRL | intermediate.crl.pem / intermediate.crl.der |
| Palapala Pēpē OCSP | INTER_NAME-ocsp.cert.pem |
- ʻAʻole pono e hoʻohui ka mīkini CA kaʻawale i kahi pūnaewele.
- Hoʻopaʻa ʻia nā kī pilikino kumu a waena me AES-256. E mālama i nā huaʻōlelo kahua ma kahi hāmeʻa pākahi a i ʻole kahi pahu palekana kino, kaʻawale mai nā kī.
- E hōʻoia mau i nā helu SHA256 o ka lawe ʻikepili USB ma mua o ka lawe ʻana mai —
hana ʻia kēia ma ka ʻano aunoa e
import-from-usb.shmesha256 -Co OpenBSD. - Pau ka CRL ma hope o 30 lā ma ka mea paʻamau. E hoʻonohonoho i ka hōʻhou ʻana
mau i ka CRL:
doas sh scripts/revoke-cert.sh MY-PROJECT DATE --crl-only # a laila export-to-usb + import-from-usb - Pau nā palapala pēpē OCSP ma hope o 375 lā. E hōʻhou iā lākou ma ka hoʻohana hou
ʻana i
create-intermediate-ca.shme nā helu like; e lele ʻia nā ʻalahele i hoʻokō mua ʻia a hana ʻia kahi palapala OCSP hou wale nō ke pono.