diff --git a/components/LandingPage.tsx b/components/LandingPage.tsx index 15d5c54..f711fdf 100644 --- a/components/LandingPage.tsx +++ b/components/LandingPage.tsx @@ -1,58 +1,27 @@ import { ArrowRight, Shield, Globe, Lock, Server, Zap, ChevronRight } from "lucide-react"; import Link from 'next/link'; -import { useRouter } from 'next/router'; - -interface LandingPageProps { - locale?: string; -} - const translations = { - en: { - hero: { - badge: "v1.0 is Live", - title: "Secure Your", - highlight: "Private Network", - description: "TrustLab is the definitive Private Certificate Authority (CA) for your internal infrastructure. Issue military-grade SSL/TLS certificates for Intranets, IoT, and Dev environments.", - cta_primary: "Get Started", - cta_secondary: "Generate Certificate", - }, - features: { - root_ca: { title: "Private Root CA", desc: "Your own sovereign Certificate Authority. Trusted by your devices, unreachable by the public internet." }, - internal_domains: { title: "Internal Domains", desc: "Issue certificates for .local, .corp, and private IP addresses (192.168.x.x) that Public CAs reject." }, - smime: { title: "S/MIME Encryption", desc: "Secure internal email communication with employee-to-employee encryption." }, - infrastructure: { title: "Infrastructure", desc: "Seamless integration guides for Nginx, IIS, Apache, and containerized environments." }, - instant: { title: "Instant Issuance", desc: "No validation delays. Certificates are issued instantly via our modern dashboard." }, - start: { title: "Start Now", desc: "Follow the Setup Guide to install the Root CA and go green in minutes." }, - learn_more: "Learn more" - } + hero: { + badge: "v1.0 is Live", + title: "Secure Your", + highlight: "Private Network", + description: "TrustLab is the definitive Private Certificate Authority (CA) for your internal infrastructure. Issue military-grade SSL/TLS certificates for Intranets, IoT, and Dev environments.", + cta_primary: "Get Started", + cta_secondary: "Generate Certificate", }, - id: { - hero: { - badge: "v1.0 Sudah Rilis", - title: "Amankan", - highlight: "Jaringan Pribadi Anda", - description: "TrustLab adalah Otoritas Sertifikat (CA) Pribadi definitif untuk infrastruktur internal Anda. Terbitkan sertifikat SSL/TLS kelas militer untuk Intranet, IoT, dan lingkungan Dev.", - cta_primary: "Mulai Sekarang", - cta_secondary: "Buat Sertifikat", - }, - features: { - root_ca: { title: "Root CA Pribadi", desc: "Otoritas Sertifikat berdaulat Anda sendiri. Dipercaya oleh perangkat Anda, tidak terjangkau oleh internet publik." }, - internal_domains: { title: "Domain Internal", desc: "Terbitkan sertifikat untuk .local, .corp, dan alamat IP pribadi (192.168.x.x) yang ditolak oleh CA Publik." }, - smime: { title: "Enkripsi S/MIME", desc: "Amankan komunikasi email internal dengan enkripsi antar karyawan." }, - infrastructure: { title: "Infrastruktur", desc: "Panduan integrasi mulus untuk Nginx, IIS, Apache, dan lingkungan container." }, - instant: { title: "Penerbitan Instan", desc: "Tanpa penundaan validasi. Sertifikat diterbitkan secara instan melalui dashboard modern kami." }, - start: { title: "Mulai Sekarang", desc: "Ikuti Panduan Pengaturan untuk menginstal Root CA dan aman dalam hitungan menit." }, - learn_more: "Pelajari selengkapnya" - } + features: { + root_ca: { title: "Private Root CA", desc: "Your own sovereign Certificate Authority. Trusted by your devices, unreachable by the public internet." }, + internal_domains: { title: "Internal Domains", desc: "Issue certificates for .local, .corp, and private IP addresses (192.168.x.x) that Public CAs reject." }, + smime: { title: "S/MIME Encryption", desc: "Secure internal email communication with employee-to-employee encryption." }, + infrastructure: { title: "Infrastructure", desc: "Seamless integration guides for Nginx, IIS, Apache, and containerized environments." }, + instant: { title: "Instant Issuance", desc: "No validation delays. Certificates are issued instantly via our modern dashboard." }, + start: { title: "Start Now", desc: "Follow the Setup Guide to install the Root CA and go green in minutes." }, + learn_more: "Learn more" } }; -export function LandingPage({ locale: propLocale }: LandingPageProps) { - const { locale: routerLocale, defaultLocale } = useRouter(); - const currentLocale = (propLocale || routerLocale || defaultLocale || 'en') as 'en' | 'id'; - - console.log('LandingPage Final Locale:', currentLocale); - const t = translations[currentLocale] || translations.en; +export function LandingPage() { + const t = translations; return (
@@ -82,7 +51,7 @@ export function LandingPage({ locale: propLocale }: LandingPageProps) { {t.hero.cta_primary} - + {t.hero.cta_secondary}
@@ -95,42 +64,42 @@ export function LandingPage({ locale: propLocale }: LandingPageProps) { icon={} title={t.features.root_ca.title} description={t.features.root_ca.desc} - link={locale === 'id' ? "/guide/concepts/pki-fundamentals" : "/guide/concepts/pki-fundamentals"} + link="/guide/concepts/pki-fundamentals" learnMoreText={t.features.learn_more} /> } title={t.features.internal_domains.title} description={t.features.internal_domains.desc} - link={locale === 'id' ? "/guide/certificates/request-new" : "/guide/certificates/request-new"} + link="/guide/certificates/request-new" learnMoreText={t.features.learn_more} /> } title={t.features.smime.title} description={t.features.smime.desc} - link={locale === 'id' ? "/guide/integrations/smime" : "/guide/integrations/smime"} + link="/guide/integrations/smime" learnMoreText={t.features.learn_more} /> } title={t.features.infrastructure.title} description={t.features.infrastructure.desc} - link={locale === 'id' ? "/guide/integrations/web-servers" : "/guide/integrations/web-servers"} + link="/guide/integrations/web-servers" learnMoreText={t.features.learn_more} /> } title={t.features.instant.title} description={t.features.instant.desc} - link={locale === 'id' ? "/guide/getting-started/access-dashboard" : "/guide/getting-started/access-dashboard"} + link="/guide/getting-started/access-dashboard" learnMoreText={t.features.learn_more} /> } title={t.features.start.title} description={t.features.start.desc} - link={locale === 'id' ? "/guide/getting-started/install-root-ca" : "/guide/getting-started/install-root-ca"} + link="/guide/getting-started/install-root-ca" isAction learnMoreText={t.features.learn_more} /> diff --git a/next.config.js b/next.config.js index aaaa9e7..091e319 100644 --- a/next.config.js +++ b/next.config.js @@ -4,10 +4,7 @@ const withNextra = require('nextra')({ }) module.exports = withNextra({ - i18n: { - locales: ['en', 'id'], - defaultLocale: 'en', - }, + images: { unoptimized: true, }, diff --git a/pages/_meta.id.json b/pages/_meta.id.json deleted file mode 100644 index 5c87116..0000000 --- a/pages/_meta.id.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "index": { - "title": "Beranda", - "type": "page", - "display": "hidden" - }, - "guide": { - "title": "Panduan Pengguna", - "type": "page" - }, - "developer": { - "title": "Developer API", - "type": "page" - } -} \ No newline at end of file diff --git a/pages/developer/_meta.id.json b/pages/developer/_meta.id.json deleted file mode 100644 index 6084e96..0000000 --- a/pages/developer/_meta.id.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "Dokumentasi API", - "endpoints": "Titik Akhir (Endpoints)" -} \ No newline at end of file diff --git a/pages/developer/endpoints.id.mdx b/pages/developer/endpoints.id.mdx deleted file mode 100644 index f7c3143..0000000 --- a/pages/developer/endpoints.id.mdx +++ /dev/null @@ -1,71 +0,0 @@ -import { Tabs } from 'nextra/components' -import { Code, Terminal, Send, ShieldCheck } from 'lucide-react' - -# Titik Akhir (Endpoints) - -Gunakan titik akhir API berikut untuk melakukan integrasi programatik dengan layanan TrustLab. - -## Dasar URL -Semua permintaan API dilakukan ke: -`https://trustlab.dyzulk.com/api` - ---- - -## Pengambilan Sertifikat Publik - -Endpoint ini digunakan untuk mengambil informasi publik mengenai sertifikat atau CA. - -### 1. Unduh Root CA -Mengunduh sertifikat root pemegang kepercayaan utama. - -- **Endpoint**: `GET /ca/root/download` -- **Output**: File `trustlab-root.crt` - -### 2. Lihat Detail Sertifikat (via Serial) -Mendapatkan metadata sertifikat berdasarkan nomor serinya. - -- **Endpoint**: `GET /certificates/detail/{serial_number}` -- **Respon Contoh**: -```json -{ - "serial": "12345-ABCDE", - "common_name": "myserver.local", - "issuer": "TrustLab Intermediate CA", - "not_after": "2025-12-31T23:59:59Z", - "status": "VALID" -} -``` - ---- - -## Contoh Implementasi (cURL) - - - - ```bash - curl -O https://trustlab.dyzulk.com/api/ca/root/download - ``` - - - ```bash - curl https://trustlab.dyzulk.com/api/certificates/detail/99887766 - ``` - - - ---- - -## Status Respon API - -TrustLab menggunakan kode status HTTP standar: - -| Kode | Arti | -| :--- | :--- | -| `200 OK` | Permintaan berhasil. | -| `404 Not Found` | Sertifikat tidak ditemukan. | -| `500 Server Error` | Terjadi masalah pada database TrustLab. | - ---- - -> [!IMPORTANT] -> Fitur manajemen sertifikat penuh (Create, Revoke, Renew) via API saat ini masih dalam tahap **Beta Tertutup**. Silakan hubungi admin untuk mendapatkan akses API Key jika Anda memerlukannya untuk otomatisasi infrastruktur. diff --git a/pages/developer/index.id.mdx b/pages/developer/index.id.mdx deleted file mode 100644 index b0c0c14..0000000 --- a/pages/developer/index.id.mdx +++ /dev/null @@ -1,20 +0,0 @@ -# Dokumentasi API Developer - -Gunakan API TrustLab untuk mengotomatiskan manajemen siklus hidup sertifikat dalam alur kerja pengembangan atau infrastruktur Anda. - -## Gambaran Umum - -API kami berbasis REST dan mengembalikan respon dalam format JSON. Saat ini, API mendukung operasi dasar untuk pengambilan informasi sertifikat publik. - -## Autentikasi - -Saat ini, endpoint publik untuk pengambilan sertifikat tidak memerlukan autentikasi API Key khusus. Namun, penggunaan secara massal untuk endpoint manajemen akan segera hadir. - -## Endpoint Utama - -- **[Daftar Endpoint](/id/developer/endpoints)**: Lihat daftar lengkap fungsi API yang tersedia saat ini. - ---- - -> [!NOTE] -> Dokumentasi API sedang dikembangkan lebih lanjut. Hubungi tim dukungan kami jika Anda memerlukan akses integrasi skala besar. diff --git a/pages/guide/_meta.id.json b/pages/guide/_meta.id.json deleted file mode 100644 index 4999756..0000000 --- a/pages/guide/_meta.id.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "index": "Panduan Pengguna", - "getting-started": "Mulai Cepat", - "concepts": "Konsep Inti", - "certificates": "Operasi Sertifikat", - "integrations": "Integrasi", - "troubleshooting": "Pemecahan Masalah" -} \ No newline at end of file diff --git a/pages/guide/certificates/_meta.id.json b/pages/guide/certificates/_meta.id.json deleted file mode 100644 index 007dfa2..0000000 --- a/pages/guide/certificates/_meta.id.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "request-new": "Minta Sertifikat Baru", - "download-install": "Unduh & Format", - "view-details": "Lihat Detail", - "renewal": "Proses Perpanjangan", - "revocation": "Pencabutan (Revocation)" -} \ No newline at end of file diff --git a/pages/guide/certificates/download-install.id.mdx b/pages/guide/certificates/download-install.id.mdx deleted file mode 100644 index 9efa6df..0000000 --- a/pages/guide/certificates/download-install.id.mdx +++ /dev/null @@ -1,43 +0,0 @@ -# Unduh & Format (PEM, PFX, JKS) - -Setelah sertifikat Anda diterbitkan, Anda dapat mengunduhnya dalam berbagai format yang sesuai untuk server dan aplikasi yang berbeda. - -## Format yang Tersedia - -| Format | Ekstensi | Digunakan Untuk | -| :--- | :--- | :--- | -| **PEM (Nginx/Apache)** | `.crt`, `.key` | Server web Linux standar. Anda mendapatkan file Sertifikat dan Private Key terpisah. | -| **PFX / PKCS#12** | `.pfx`, `.p12` | IIS (Windows), Microsoft Exchange, Sertifikat Klien (S/MIME). Berisi key dan cert sekaligus. | -| **JKS (Java)** | `.jks` | Aplikasi Java (Tomcat, Spring Boot). | - -## Cara Mengunduh (Salin & Simpan) - -Dashboard memungkinkan Anda untuk menyalin data mentah sertifikat secara langsung. - -1. Buka menu **"My Certificates"** dan klik tombol **View (Ikon Mata)** pada sertifikat Anda. -2. **Sertifikat:** Gulir ke bagian "Certificate (CRT)" dan klik **Ikon Salin** di pojok kanan atas. Simpan ke dalam file bernama `domain.crt` atau `domain.pem`. -3. **Private Key:** Gulir ke bagian "Private Key (KEY)", klik **Show**, lalu klik **Ikon Salin**. Simpan ke dalam file bernama `domain.key`. - -> [!TIP] -> Gunakan editor teks murni (Notepad, VS Code, Nano) untuk menyimpan file-file ini. Jangan gunakan Word atau editor Rich Text. - -> [!WARNING] -> **Private Key** dihasilkan secara aman secara lokal di browser/server. Jika Anda menghilangkannya, kunci tersebut **TIDAK BISA** dipulihkan. Anda harus melakukan revoke dan menerbitkan ulang sertifikat. - -## Contoh Instalasi - -### Nginx (PEM) -```nginx -server { - listen 443 ssl; - server_name internal.app; - - ssl_certificate /etc/nginx/ssl/internal.app.crt; - ssl_certificate_key /etc/nginx/ssl/internal.app.key; -} -``` - -### Windows (PFX) -1. Klik dua kali file `.pfx` yang diunduh. -2. Ikuti "Certificate Import Wizard". -3. Saat diminta kata sandi, masukkan kata sandi yang Anda tetapkan saat mengunduh (atau kata sandi ekspor default yang disediakan di UI). diff --git a/pages/guide/certificates/renewal.id.mdx b/pages/guide/certificates/renewal.id.mdx deleted file mode 100644 index f1f4a33..0000000 --- a/pages/guide/certificates/renewal.id.mdx +++ /dev/null @@ -1,7 +0,0 @@ -# Pembaruan Sertifikat - -Dokumentasi untuk pembaruan sertifikat sedang dalam proses penerjemahan. Silakan lihat versi [Bahasa Inggris](/guide/certificates/renewal) untuk saat ini. - -
- ⚠️ **Catatan**: Halaman ini belum diterjemahkan sepenuhnya. -
diff --git a/pages/guide/certificates/request-new.id.mdx b/pages/guide/certificates/request-new.id.mdx deleted file mode 100644 index 2de323e..0000000 --- a/pages/guide/certificates/request-new.id.mdx +++ /dev/null @@ -1,51 +0,0 @@ -import { Steps, Callout, Cards, Card } from 'nextra/components' -import { FileBadge, ShieldCheck, Globe, Code, Save, AlertTriangle } from 'lucide-react' - -# Menerbitkan Sertifikat Baru - -TrustLab menyediakan wizard yang disederhanakan untuk menghasilkan sertifikat SSL/TLS pribadi untuk infrastruktur internal Anda. - -## Prasyarat -Sebelum memulai, pastikan Anda memiliki: -* Akses akun TrustLab yang aktif. -* **Root CA** telah terinstal di perangkat Anda (agar mempercayai sertifikat yang diterbitkan). - ---- - - -### 1. Buka Menu Sertifikat -Akses halaman **Certificates**. Tampilan ini mencantumkan semua sertifikat aktif dan kedaluwarsa Anda. Klik tombol **"Generate New"** (atau "+") untuk memulai. - -![Certificates List](/images/guide/certificates-screen.png) - -### 2. Masukkan Detail Domain (Mode Default) -Secara default, Anda hanya perlu memberikan Identitas. Sistem akan mengisi otomatis metadata Organisasi & Lokasi. - -![Default Generation Modal](/images/guide/certificates-generate-modal-default-metadata-screen.png) - -* **Common Name (CN)**: Domain utama (misalnya, `app.internal`). -* **SANs**: Domain tambahan atau alamat IP. -* **Key Strength**: Pilih tingkat enkripsi. - ![Key Strength Selector](/images/guide/certificates-generate-modal-key-strength-focused-screen.png) - * **2048-bit**: Standar industri, kompatibel dengan semua perangkat. - * **4096-bit**: Keamanan lebih tinggi, sedikit lebih intensif pada CPU. - -### 3. Kustomisasi CSR (Kontrol Manual) -Aktifkan **"Manual Control"** jika Anda perlu menimpa bidang Identitas default (misalnya, untuk kantor cabang tertentu atau entitas hukum khusus). - -![Manual Control Modal](/images/guide/certificates-generate-modal-manual-control-screen.png) - -* **Organization (O)**: Ganti nama perusahaan default. -* **Locality (L) / State (ST)**: Atur data lokasi spesifik. -* **Country (C)**: Kode ISO Negara. - - -### 4. Terbitkan & Simpan -Klik **Generate**. -* **Certificate (.pem)** dan **Private Key (.key)** akan dihasilkan secara instan. -* Anda dapat menyalinnya segera atau mengaksesnya nanti dari halaman **Certificate Details**. - -}> - **Penyimpanan:** Private Key Anda disimpan dengan aman di server (dienkripsi). Anda dapat melihatnya kapan saja dengan mengklik **"View Details"** pada daftar sertifikat. - - diff --git a/pages/guide/certificates/revocation.id.mdx b/pages/guide/certificates/revocation.id.mdx deleted file mode 100644 index 90d6331..0000000 --- a/pages/guide/certificates/revocation.id.mdx +++ /dev/null @@ -1,22 +0,0 @@ -# Pencabutan (Revocation) - -Pencabutan membatalkan validitas sertifikat sebelum tanggal kedaluwarsanya. Ini sangat penting jika Private Key Anda bocor atau hilang. - -## Kapan Harus Mencabut? -- **Kebocoran Kunci (Key Compromise)**: Anda curiga seseorang telah mencuri Private Key Anda. -- **Perubahan Layanan**: Nama domain secara efektif tidak lagi menjadi milik layanan tersebut. -- **Kesalahan**: Sertifikat diterbitkan dengan detail yang salah. - -## Cara Menghapus / Mencabut - -Jika sertifikat bocor atau tidak lagi dibutuhkan, Anda dapat menghapusnya dari sistem. - -1. Buka daftar **Certificates**. -2. Cari sertifikat yang ingin dihapus. -3. Klik **Ikon Tempat Sampah** (Delete) di sisi kanan baris. -4. **Konfirmasi**: Ketik `DELETE` di modal konfirmasi untuk menghapus sertifikat dan private key-nya secara permanen dari TrustLab. - -![Delete Certificate Action](/images/guide/certificates_list_view_1767869137654.png) - -## CRL (Certificate Revocation List) -Setelah dicabut, nomor seri sertifikat akan ditambahkan ke TrustLab CRL. Semua klien yang memeriksa CRL akan segera menolak sertifikat tersebut. diff --git a/pages/guide/certificates/view-details.id.mdx b/pages/guide/certificates/view-details.id.mdx deleted file mode 100644 index e929ef4..0000000 --- a/pages/guide/certificates/view-details.id.mdx +++ /dev/null @@ -1,42 +0,0 @@ -import { Steps } from 'nextra/components' -import { Search, Eye, Clipboard, ShieldAlert } from 'lucide-react' - -# Lihat Detail Sertifikat - -Setiap sertifikat di TrustLab memiliki metadata lengkap yang bisa Anda audit kapan saja untuk memastikan kesesuaian identitas dan keamanan. - -## Cara Melihat Detail - - -### Navigasi ke List -Di menu utama Dashboard, klik **"Manage Certificates"**. Anda akan melihat daftar semua sertifikat yang pernah diterbitkan. - -### Klik Ikon Mata -Gunakan kolom pencarian untuk menemukan domain Anda. Klik tombol **"View Details"** (ikon mata 👁️) di sisi kanan baris sertifikat. - -### Tinjau Tab Informasi -Anda akan melihat detail seperti: -- **Serial Number**: ID unik sertifikat Anda. -- **Validity period**: Tanggal mulai dan berakhir. -- **Issuer**: CA mana yang menandatangani (TrustLab Intermediate). -- **Public Key Info**: Algoritma yang digunakan (RSA 2048/4096). - - ---- - -## Audit Metadata - -Penting untuk memeriksa detail berikut secara berkala: - -- **Thumbprint (SHA-1/SHA-256)**: Gunakan fingerprint ini untuk memverifikasi apakah sertifikat yang terpasang di server benar-benar yang Anda terbitkan dari TrustLab. -- **Subject Alternative Names (SAN)**: Pastikan semua alias domain yang dibutuhkan sudah terdaftar di sini. -- **Status**: Pastikan statusnya **Valid** (hijau). Jika warnanya merah, berarti sertifikat telah kadaluarsa atau dicabut. - ---- - -## Keamanan Data Detail - -Meskipun detail sertifikat (Public) aman untuk dilihat, tim TrustLab menyarankan untuk membatasi akses ke dashboard hanya untuk admin sistem yang berkepentingan untuk mencegah kebocoran informasi topologi jaringan. - -> [!TIP] -> Anda bisa menyalin (copy) Serial Number secara cepat melalui tombol clipboard di samping teks untuk keperluan dokumentasi internal atau konfigurasi firewall. diff --git a/pages/guide/concepts/_meta.id.json b/pages/guide/concepts/_meta.id.json deleted file mode 100644 index f75aa11..0000000 --- a/pages/guide/concepts/_meta.id.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "pki-fundamentals": "Dasar-Dasar PKI", - "trust-architecture": "Arsitektur Kepercayaan" -} \ No newline at end of file diff --git a/pages/guide/concepts/pki-fundamentals.id.mdx b/pages/guide/concepts/pki-fundamentals.id.mdx deleted file mode 100644 index 1ee088f..0000000 --- a/pages/guide/concepts/pki-fundamentals.id.mdx +++ /dev/null @@ -1,58 +0,0 @@ -import { Steps } from 'nextra/components' -import { Shield, Key, Lock, Globe } from 'lucide-react' - -# Dasar-Dasar PKI - -Memahami cara kerja **Public Key Infrastructure (PKI)** sangat penting untuk mengelola keamanan jaringan internal Anda. TrustLab menyederhanakan konsep kompleks ini menjadi alur kerja yang mudah dikelola. - -## Apa itu PKI? - -PKI adalah kerangka kerja yang terdiri dari peran, kebijakan, perangkat lunak, dan perangkat keras yang digunakan untuk membuat, mengelola, mendistribusikan, menggunakan, menyimpan, dan mencabut sertifikat digital. - ---- - -## Komponen Utama TrustLab - -TrustLab mengelola tiga pilar utama keamanan untuk Anda: - -### 1. Root Certificate Authority (CA) -Akar dari kepercayaan di seluruh jaringan Anda. Root CA digunakan untuk menandatangani sertifikat lain di bawahnya. Jika perangkat mempercayai Root CA ini, mereka akan mempercayai semua sertifikat yang diterbitkannya. - -### 2. Intermediate CA -Digunakan oleh TrustLab untuk operasional sehari-hari. Kami tidak menggunakan Root CA langsung untuk menandatangani sertifikat pengguna akhir (end-entity) demi alasan keamanan (isolasi). - -### 3. Sertifikat Pengguna Akhir -Sertifikat SSL/TLS yang Anda pasang di server web, perangkat IoT, atau klien email. Inilah yang sebenarnya "mengamankan" koneksi Anda. - ---- - -## Cara Kerja Kepercayaan (Trust) - -Bagaimana browser Anda tahu bahwa sebuah situs web itu aman? - - -### Instalasi Akar -Administrator menginstal Root CA TrustLab ke sistem trust store Anda. - -### Pengenalan Sertifikat -Saat Anda mengakses situs internal, server menyajikan sertifikatnya. - -### Verifikasi Rantai -Browser memeriksa: "Apakah sertifikat ini ditandatangani oleh pemegang yang saya percayai (Root CA)?" - -### Koneksi Aman -Jika rantai valid, gembok hijau muncul dan enkripsi data dimulai. - - ---- - -## Mengapa PKI Privat? - -Mungkin Anda bertanya, kenapa tidak menggunakan CA publik seperti Let's Encrypt? - -1. **Domain Non-Publik**: CA publik tidak bisa mengeluarkan sertifikat untuk `.local` atau `.internal`. -2. **Kontrol Penuh**: Anda menentukan masa berlaku, algoritma enkripsi, dan siapa yang berhak mendapatkan sertifikat. -3. **Tanpa Validasi DNS**: Karena ini internal, Anda tidak perlu membuktikan kepemilikan domain ke pihak luar. - -> [!IMPORTANT] -> Keamanan PKI privat Anda bergantung sepenuhnya pada **kerahasiaan Private Key Root CA**. TrustLab menyimpan key ini dengan enkripsi kuat untuk memastikan integritas jaringan Anda. diff --git a/pages/guide/concepts/trust-architecture.id.mdx b/pages/guide/concepts/trust-architecture.id.mdx deleted file mode 100644 index 213e8ab..0000000 --- a/pages/guide/concepts/trust-architecture.id.mdx +++ /dev/null @@ -1,50 +0,0 @@ -import { Steps } from 'nextra/components' -import { Shield, Lock, Server, Users } from 'lucide-react' - -# Arsitektur Kepercayaan - -Arsitektur TrustLab dibangun di atas prinsip isolasi dan keamanan berlapis. Kami menggunakan struktur otoritas bertingkat untuk memastikan integritas jaringan Anda tetap terjaga. - -## Hirarki Otoritas Sertifikat - -Untuk keamanan maksimal, TrustLab tidak menggunakan satu kunci untuk semua hal. Kami menggunakan hirarki berikut: - -### 1. Root CA (Offline Root) -Ini adalah "Ayah" dari segala kepercayaan. Key ini sangat sensitif dan idealnya jarang digunakan. Dalam infrastruktur yang sangat ketat, Root CA biasanya tetap offline. - -### 2. Intermediate CA (Issuing CA) -TrustLab secara otomatis membuat Intermediate CA yang menandatangani sertifikat pengguna Anda. Jika Intermediate CA disusupi, Root CA dapat mencabutnya tanpa merusak seluruh ekosistem keamanan Anda. - -### 3. End-Entity Certificates -Aplikasi atau server Anda menggunakan sertifikat ini. Mereka memiliki masa berlaku yang lebih pendek (biasanya 1 tahun atau kurang) untuk meminimalkan risiko. - ---- - -## Alur Penerbitan Sertifikat - -Bagaimana data Anda berpindah dari dashboard hingga menjadi sertifikat sah? - - -### Permintaan Klien (CSR) -Dashboard membuat sepasang kunci (Public & Private). Public key dikirim dalam format Certificate Signing Request (CSR). - -### Validasi Internal -Dashboard TrustLab memverifikasi identitas Anda dan hak akses Anda terhadap domain yang diminta. - -### Penandatanganan CA -Intermediate CA menandatangani CSR tersebut menggunakan Private Key CA-nya sendiri. - -### Pengiriman Sertifikat -Sertifikat hasil tanda tangan dikembalikan ke Dashboard untuk Anda unduh. - - ---- - -## Keamanan Kunci (Key Security) - -- **Enkripsi saat Istirahat (Encryption at Rest)**: Semua Private Key disimpan dalam database menggunakan enkripsi tingkat tinggi (AES-256). -- **Isolasi Database**: Hanya layanan CA internal yang memiliki akses ke modul yang mendekripsi key tersebut. -- **Audit Logs**: Setiap aksi penandatanganan dicatat dalam log sistem yang tidak dapat diubah (immutable logs). - -> [!TIP] -> Jangan pernah membagikan file Private Key (`.key`) Anda kepada siapapun. Siapapun yang memiliki key tersebut bisa menyamar sebagai server Anda. diff --git a/pages/guide/getting-started/_meta.id.json b/pages/guide/getting-started/_meta.id.json deleted file mode 100644 index 80dd6d6..0000000 --- a/pages/guide/getting-started/_meta.id.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "install-root-ca": "Instal Root CA", - "access-dashboard": "Akses Dashboard" -} \ No newline at end of file diff --git a/pages/guide/getting-started/access-dashboard.id.mdx b/pages/guide/getting-started/access-dashboard.id.mdx deleted file mode 100644 index 24c4f45..0000000 --- a/pages/guide/getting-started/access-dashboard.id.mdx +++ /dev/null @@ -1,96 +0,0 @@ -import { Callout, Steps, Cards, Card } from 'nextra/components' -import { Monitor, Smartphone, LayoutDashboard, Key, Shield, Info, Clock, AlertTriangle } from 'lucide-react' - -# Mengakses Dashboard - -**TrustLab Dashboard** adalah pusat kendali utama Anda untuk mengelola sertifikat. Di sini Anda dapat meminta sertifikat baru, mengunduh kunci, dan mengelola sertifikat yang sudah ada. - -![Antarmuka Login TrustLab](/images/guide/login-screen.png) - -## Metode Autentikasi - -Kami mengutamakan keamanan dengan menawarkan opsi autentikasi modern tanpa kata sandi (passwordless). - - - } title="SSO (Google / GitHub)" href="#1-single-sign-on-sso" arrow /> - } title="Magic Link (Email)" href="#2-magic-link" arrow /> - - -### 1. Single Sign-On (SSO) -Cara tercepat untuk masuk. Klik **Continue with Google** atau **Continue with GitHub**. - -}> -**Perilaku SSO:** -* **Pengguna Lama:** Anda hanya dapat Masuk via SSO jika alamat email Anda sudah terdaftar. -* **Pengguna Baru:** Anda dapat **Mendaftar** akun baru secara instan dengan mengklik tombol Social Login pada halaman *Sign In* atau *Sign Up*. - - -### 2. Magic Link -Masuk yang aman dan tanpa kata sandi melalui email. - - -### Masukkan Email -Masukkan alamat email terdaftar Anda pada formulir login dan klik **"Continue with Email"**. - -### Cek Kotak Masuk -Anda akan menerima email berisi tautan login unik yang sensitif terhadap waktu. - -### Klik untuk Verifikasi -Klik tombol **"Sign in to TrustLab"** di dalam email tersebut. Anda akan langsung masuk ke dashboard secara instan. - - -}> - **Kedaluwarsa:** Tautan Magic Link hanya berlaku selama **15 menit**. Jika kedaluwarsa, cukup minta tautan baru dengan memasukkan email Anda kembali. - - -## Ikhtisar Dashboard - -Setelah berhasil masuk, Anda akan mendarat di dashboard utama. - -![Ikhtisar Dashboard TrustLab](/images/guide/dashboard-screen.png) - -Hub pusat ini memungkinkan Anda untuk mengakses: -* **Active Certificates**: Lihat semua sertifikat valid yang diterbitkan untuk Anda. -* **Request Certificate**: Wizard untuk menghasilkan Private Key dan CSR baru. -* **Revocation**: Antarmuka untuk menandai sertifikat yang hilang atau bocor sebagai tidak valid. - -## Registrasi - -Pengguna baru dapat membuat akun untuk mulai mengelola sertifikat. - -![Antarmuka Registrasi TrustLab](/images/guide/register-screen.png) - - -### Opsi A: Registrasi Sosial (Instan) -1. Klik **Continue with Google** atau **Continue with GitHub**. -2. **Atur Kata Sandi:** Pertama, pastikan Anda telah [**Menginstal Root CA**](/id/guide/getting-started/install-root-ca) di perangkat Anda. - -![Layar Atur Kata Sandi](/images/guide/set-password-after-social-screen.png) - -### Opsi B: Registrasi Email -1. Klik **"Sign up"** atau isi formulir. -2. Berikan detail dan kata sandi Anda. -3. **Verifikasi Email:** Klik tautan yang dikirim ke kotak masuk Anda untuk mengaktifkan. - - -## Pemulihan Kata Sandi - -Jika Anda kehilangan akses ke akun, Anda dapat mengatur ulang kata sandi dengan aman. - -![Antarmuka Lupa Kata Sandi TrustLab](/images/guide/forgot-password-screen.png) - -1. Klik **"Forgot password?"** pada layar login. -2. Masukkan alamat email terdaftar Anda. -3. Cek kotak masuk Anda untuk tautan pengaturan ulang kata sandi. -4. Buat kata sandi baru dan masuk. - -## Pemecahan Masalah - -### Saya tidak menerima Magic Link -* **Cek Spam/Junk**: Seringkali masuk ke sana untuk domain perusahaan. -* **Tunggu 1-2 Menit**: Pengiriman email terkadang tertunda. -* **Whitelist Pengirim**: Tambahkan `@trustlab.dyzulk.com` ke daftar **Safe Senders** penyedia email Anda agar tidak diblokir. - -### Akses Ditolak / Pengguna Tidak Ditemukan -* **Salah Ketik**: Periksa kembali alamat email Anda. -* **Belum Terdaftar**: Jika Anda belum membuat akun, silakan **Daftar** terlebih dahulu. Anda tidak dapat masuk via SSO jika email Anda belum ada di sistem kami (kecuali Anda menggunakan alur Pendaftaran). diff --git a/pages/guide/getting-started/install-root-ca.id.mdx b/pages/guide/getting-started/install-root-ca.id.mdx deleted file mode 100644 index 2803cc5..0000000 --- a/pages/guide/getting-started/install-root-ca.id.mdx +++ /dev/null @@ -1,64 +0,0 @@ -import { Tabs, Steps, Cards, Card, Callout } from 'nextra/components' -import { Monitor, Smartphone, AlertTriangle, Info } from 'lucide-react' - -# Menginstal Root CA - -Untuk memastikan browser Anda mempercayai sertifikat yang diterbitkan oleh TrustLab, Anda harus menginstal Root CA kami. - -## Instalasi Cepat (Bundle) - -Instal secara instan **SEMUA** sertifikat Root & Intermediate TrustLab menggunakan skrip bundle otomatis kami. - -### Linux / Server (CLI) - -Pilih distribusi Anda untuk mendapatkan perintah instalasi yang dioptimalkan: - - - - ```bash - sudo apt update && sudo apt install -y curl && curl -sL https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.sh | sudo bash - ``` - - - ```bash - (sudo yum install -y curl || sudo dnf install -y curl) && curl -sL https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.sh | sudo bash - ``` - - - ```bash - sudo pacman -Sy --noconfirm curl && curl -sL https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.sh | sudo bash - ``` - - - ```bash - curl -sL https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.sh | sudo bash - ``` - - - -### Ekosistem Windows & Apple - - - } title="Windows Bundle Installer (.bat)" href="https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.bat" arrow /> - } title="macOS / iOS Profile (.mobileconfig)" href="https://cdn.trustlab.dyzulk.com/ca/bundles/trustlab-all.mobileconfig" arrow /> - - - -}> - **Pengguna Windows:** Anda **WAJIB** klik kanan file `.bat` dan pilih **"Run as Administrator"**. Mengklik dua kali secara langsung kemungkinan besar akan gagal karena batasan izin. - - - -}> - **Pengguna Apple:** Setelah mengunduh profil, buka **System Settings > Privacy & Security > Profiles** untuk menginstalnya. Untuk iOS, lihat bagian *Instalasi Sertifikat Individu* di bawah untuk langkah-langkah kepercayaan mendetail. - - ---- - -import { DynamicInstallationGuide } from '../../../components/DynamicInstallationGuide' - -## Instalasi Sertifikat Individu - -Jika Anda perlu menginstal sertifikat tertentu secara individu (misal: hanya Root, atau Intermediate tertentu), gunakan panduan langsung di bawah ini. - - diff --git a/pages/guide/index.id.mdx b/pages/guide/index.id.mdx deleted file mode 100644 index 51dd9d9..0000000 --- a/pages/guide/index.id.mdx +++ /dev/null @@ -1,23 +0,0 @@ -# Panduan Pengguna TrustLab - -Selamat datang di dokumentasi resmi TrustLab. Panduan ini dirancang untuk membantu Anda memahami, menginstal, dan mengelola Otoritas Sertifikat (CA) privat Anda sendiri. - -## Apa itu TrustLab? - -TrustLab adalah solusi manajemen PKI (Public Key Infrastructure) yang disederhanakan untuk jaringan internal. Kami memungkinkan Anda untuk: - -- **Mengeluarkan Sertifikat SSL/TLS** untuk domain internal seperti `.local`, `.corp`, atau alamat IP privat. -- **Mengamankan Komunikasi IoT** dan perangkat dalam jaringan lokal. -- **Enkripsi Email (S/MIME)** untuk kerahasiaan data karyawan. -- **Otomasi Integrasi** dengan web server modern seperti Nginx dan IIS. - -## Langkah Cepat - -1. **Instal Root CA**: Langkah pertama yang wajib dilakukan agar semua sertifikat Anda dipercaya oleh perangkat. [Baca selengkapnya](/id/guide/getting-started/install-root-ca) -2. **Akses Dashboard**: Masuk ke portal manajemen Anda untuk mulai menerbitkan sertifikat. [Baca selengkapnya](/id/guide/getting-started/access-dashboard) -3. **Terbitkan Sertifikat**: Pelajari cara membuat permintaan sertifikat baru dalam hitungan detik. [Baca selengkapnya](/id/guide/certificates/request-new) - ---- - -> [!TIP] -> Mulailah dari bagian **Mulai Cepat** untuk mendapatkan Certificate Authority yang berfungsi penuh dalam waktu kurang dari 5 menit. diff --git a/pages/guide/integrations/_meta.id.json b/pages/guide/integrations/_meta.id.json deleted file mode 100644 index 6d3ef99..0000000 --- a/pages/guide/integrations/_meta.id.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "web-servers": "Konfigurasi Web Server", - "smime": "Keamanan Email S/MIME" -} \ No newline at end of file diff --git a/pages/guide/integrations/smime.id.mdx b/pages/guide/integrations/smime.id.mdx deleted file mode 100644 index 6b3a73d..0000000 --- a/pages/guide/integrations/smime.id.mdx +++ /dev/null @@ -1,77 +0,0 @@ -import { Steps, Callout, Tabs } from 'nextra/components' -import { Mail, BadgeAlert, ShieldCheck } from 'lucide-react' - -# Keamanan Email S/MIME - -Secure/Multipurpose Internet Mail Extensions (S/MIME) memungkinkan Anda untuk **menandatangani** (membuktikan identitas) dan **mengenkripsi** (melindungi konten) pesan email. - -}> - **Hanya untuk Penggunaan Internal:** - Sertifikat TrustLab bersifat pribadi. Jika Anda mengirim email bertanda tangan ke **Penerima Eksternal** (misal: Gmail, Yahoo), mereka akan melihat peringatan "Tanda Tangan Tidak Dipercaya/Tidak Valid" karena mereka tidak mempercayai Root CA TrustLab. - - **Gunakan ini hanya untuk komunikasi internal perusahaan.** - - -## Panduan Pengaturan - -## Konfigurasi Microsoft Outlook - - - - **Versi yang Didukung:** Outlook 365, 2019, 2016. - - - ### 1. Buka Trust Center - Buka **File > Options > Trust Center > Trust Center Settings**. - - ### 2. Email Security - Pilih **Email Security** dari sidebar kiri. - - ### 3. Impor Sertifikat - Di bawah *Encrypted Email*, klik **Settings...** - * **Signing Certificate**: Klik 'Choose' dan pilih sertifikat TrustLab Anda. - * **Encryption Certificate**: Sama seperti di atas. - - ### 4. Simpan - Klik **OK** untuk menerapkan. - - - - **Versi yang Didukung:** Outlook baru untuk Windows, OWA. - *Catatan: Memerlukan ekstensi S/MIME Control.* - - - ### 1. Buka Pengaturan - Klik **Ikon Roda Gigi** (Settings) di pojok kanan atas. - - ### 2. Menu S/MIME - Navigasi ke **Mail > S/MIME**. - - ### 3. Aktifkan - Aktifkan **"Encrypt with S/MIME"** dan pilih sertifikat Anda. - - - - -## Konfigurasi Thunderbird - -**Persyaratan Versi:** v115+ (Supernova) atau yang lebih baru. - - -### 1. Pengaturan Akun -Klik tombol **Menu (≡)** dan pilih **Account Settings**. - -### 2. Enkripsi End-to-End -Pilih akun email Anda dari sidebar dan klik **End-to-End Encryption**. - -### 3. Impor Sertifikat -Di bagian **S/MIME**, klik **Add** (atau Manager) untuk mengimpor file `.p12` Anda. - -### 4. Terapkan Sertifikat -Di bawah *Select Certificate*, pilih file yang diimpor untuk keduanya: -* **Digital Signing** -* **Encryption** - - -## Cara Mengetes -Kirim email ke rekan kerja yang juga telah menginstal Root CA. Mereka seharusnya melihat ikon **Pita/Badge** terverifikasi yang menunjukkan bahwa email tersebut dipercaya dan tidak dimodifikasi. diff --git a/pages/guide/integrations/web-servers.id.mdx b/pages/guide/integrations/web-servers.id.mdx deleted file mode 100644 index 2f602ea..0000000 --- a/pages/guide/integrations/web-servers.id.mdx +++ /dev/null @@ -1,78 +0,0 @@ -import { Tabs, Callout } from 'nextra/components' -import { Server, Globe, Shield } from 'lucide-react' - -# Konfigurasi Web Server - -Untuk mengaktifkan HTTPS pada layanan internal Anda, Anda perlu mengonfigurasi web server agar menggunakan sertifikat yang diterbitkan oleh TrustLab. - -}> - **Prasyarat:** Pastikan Anda telah mengunduh **PEM Bundle** (untuk Linux) atau **PFX** (untuk Windows) seperti yang dijelaskan dalam [Panduan Unduh](/id/guide/certificates/download-install). - - -## Contoh Konfigurasi - -Pilih lingkungan web server Anda di bawah ini: - - - - ### Pengaturan Nginx - File Target: `/etc/nginx/sites-available/default` atau `internal.app.conf` - - ```nginx - server { - listen 80; - server_name internal.app; - return 301 https://$host$request_uri; - } - - server { - listen 443 ssl http2; - server_name internal.app; - - # SSL Configuration - ssl_certificate /etc/ssl/trustlab/internal.app.crt; - ssl_certificate_key /etc/ssl/trustlab/internal.app.key; - - # Recommended Security - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers HIGH:!aNULL:!MD5; - ssl_prefer_server_ciphers on; - } - ``` - - - ### Pengaturan Apache / HTTPD - File Target: `/etc/httpd/conf.d/ssl.conf` atau file VHost. - - ```apache - - ServerName internal.app - DocumentRoot /var/www/html/internal - - SSLEngine on - SSLCertificateFile "/path/to/internal.app.crt" - SSLCertificateKeyFile "/path/to/internal.app.key" - - # Best Practice - SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 - - ``` - 5. Pergi ke **Sites**, pilih situs Anda, dan klik **Bindings...**. - 6. Tambahkan binding `https` dan pilih sertifikat TrustLab yang baru diimpor. - - - ---- - -## Verifikasi Konfigurasi - -Gunakan perintah `curl` dari terminal untuk memastikan sertifikat terdeteksi dengan benar: - -```bash -curl -vI https://internal.yourcompany.local -``` - -Perhatikan baris `server certificate verification OK`. Jika muncul error, pastikan Anda telah menginstal Root CA di perangkat yang menjalankan perintah tersebut. - -> [!NOTE] -> Sangat disarankan untuk selalu menggunakan file **BUNDLE/COMBINED** (Sertifikat + Intermediate) untuk menghindari masalah rantai sertifikat (Chain Error) di beberapa browser mobile. diff --git a/pages/guide/troubleshooting/_meta.id.json b/pages/guide/troubleshooting/_meta.id.json deleted file mode 100644 index 4d35789..0000000 --- a/pages/guide/troubleshooting/_meta.id.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "browser-errors": "Kesalahan Umum Browser", - "developer-tools": "Masalah CLI & Bahasa" -} \ No newline at end of file diff --git a/pages/guide/troubleshooting/browser-errors.id.mdx b/pages/guide/troubleshooting/browser-errors.id.mdx deleted file mode 100644 index 73e813a..0000000 --- a/pages/guide/troubleshooting/browser-errors.id.mdx +++ /dev/null @@ -1,43 +0,0 @@ -import { Callout, Cards, Card } from 'nextra/components' -import { AlertTriangle, Globe, Calendar, XCircle, HelpCircle } from 'lucide-react' - -# Kesalahan Browser Umum - -Saat menggunakan sertifikat internal, browser sangatlah ketat. Berikut adalah kode kesalahan yang paling umum dan cara mengatasinya. - -### `NET::ERR_CERT_AUTHORITY_INVALID` - -}> - **Logikanya:** Browser sama sekali **tidak mengenal** "TrustLab Root CA" yang menandatangani sertifikat situs web Anda, sehingga ia menganggapnya palsu. - - -**Solusi:** -Anda belum menginstal Root CA di perangkat Anda. -* [**Panduan Instalasi Root CA**](/id/guide/getting-started/install-root-ca) - ---- - -### `NET::ERR_CERT_COMMON_NAME_INVALID` - -}> - **Logikanya:** Anda mengunjungi `app.local`, tetapi sertifikat hanya diterbitkan untuk `api.local`. Namanya **tidak cocok**. - - -**Solusi:** -Domain tersebut tidak ada dalam **SANs (Subject Alternative Names)** sertifikat. -1. Klik ikon **"Not Secure"** > **Certificate**. -2. Periksa bidang **DNS Name** atau SAN. -3. Jika tidak ada, Anda harus **[Menerbitkan Sertifikat Baru](/id/guide/certificates/request-new)** yang menyertakan domain yang benar. - ---- - -### `NET::ERR_CERT_DATE_INVALID` - -}> - **Logikanya:** Sertifikat telah kedaluwarsa, ATAU jam komputer Anda diatur ke tanggal yang salah (lampau/masa depan). - - -**Solusi:** -1. Periksa jam sistem Anda terlebih dahulu. -2. Jika jam sudah benar, berarti sertifikat benar-benar kedaluwarsa. -3. **[Perbarui Sertifikat](/id/guide/certificates/renewal)** segera. diff --git a/pages/guide/troubleshooting/developer-tools.id.mdx b/pages/guide/troubleshooting/developer-tools.id.mdx deleted file mode 100644 index c190843..0000000 --- a/pages/guide/troubleshooting/developer-tools.id.mdx +++ /dev/null @@ -1,97 +0,0 @@ -import { Callout, Steps } from 'nextra/components' -import { Terminal, Code, Server, Download } from 'lucide-react' - -# Masalah CLI & Bahasa Pemrograman - -Bahkan jika Anda sudah menginstal Root CA di sistem operasi Anda, banyak alat pengembang dan bahasa pemrograman yang **mengabaikan penyimpanan sistem (system store)** dan menggunakan penyimpanan mereka sendiri. - -}> - **Prasyarat:** - Anda harus memiliki file **`trustlab-root.crt`** yang sudah diunduh di mesin Anda. - [Unduh di sini](/id/guide/getting-started/install-root-ca). - - -Jika kode atau skrip Anda gagal dengan kesalahan sertifikat, periksa solusi di bawah ini. - -## 1. cURL & Wget - -Alat baris perintah standar sering kali mencari file bundle tertentu. - -### cURL -}> - `curl: (60) SSL certificate problem: unable to get local issuer certificate` - - -**Solusi:** -Teruskan Root CA secara eksplisit: -```bash -curl --cacert /jalur/ke/trustlab-root.crt https://domain-anda.local -``` - -### Wget -**Solusi:** -```bash -wget --ca-certificate=/jalur/ke/trustlab-root.crt https://domain-anda.local -``` - ---- - -## 2. Node.js / JavaScript - -Node.js tidak menggunakan Root CA Sistem secara default. - -}> - `Error: self signed certificate in certificate chain` - - -**Solusi (Variabel Lingkungan):** -Atur variabel ini sebelum menjalankan aplikasi Anda. Ini berfungsi untuk sebagian besar aplikasi Node.js (npm, yarn, skrip kustom). - -```bash -export NODE_EXTRA_CA_CERTS="/jalur/ke/trustlab-root.crt" -node server.js -``` - ---- - -## 3. Python (Requests/Pip) - -Pustaka `requests` di Python (dan `pip`) menggunakan paket sertifikatnya sendiri (`certifi`), mengabaikan penyimpanan sistem Windows/macOS/Linux. - -}> - `SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed'))` - - -**Solusi:** -Arahkan ke Root CA Anda menggunakan variabel lingkungan. - -```bash -export REQUESTS_CA_BUNDLE="/jalur/ke/trustlab-root.crt" -python script.py -``` - ---- - -## 4. Aplikasi Java - -Java menggunakan "Keystore" (JKS) milik sendiri dan biasanya **mengabaikan** Windows Certificate Store. - -}> - `sun.security.validator.ValidatorException: PKIX path building failed` - - -**Solusi:** -Anda harus mengimpor Root CA TrustLab ke dalam Java Keystore (cacerts). - - -### Lokasi standar cacerts -Biasanya di `$JAVA_HOME/lib/security/cacerts`. - -### Impor dengan keytool -```bash -keytool -import -trustcacerts -alias trustlab-root \ - -file trustlab-root.crt \ - -keystore "$JAVA_HOME/lib/security/cacerts" -``` -*Kata sandi default biasanya adalah `changeit`.* - diff --git a/theme.config.tsx b/theme.config.tsx index 506908c..50b3e8a 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -11,10 +11,7 @@ const config: DocsThemeConfig = { ), logoLink: '/', - i18n: [ - { locale: 'en', text: 'English' }, - { locale: 'id', text: 'Bahasa Indonesia' } - ], + project: { link: 'https://github.com/dyzulk/trustlab-docs', },