Saya ingin menambahkan beberapa root CA yang tidak datang dengan default firefox di Ubuntu, tapi saya tidak tahu caranya.
Saya mencoba menambahkannya ke sertifikat lokal dengan certutil
, tetapi tidak berhasil. Itu mengacaukan basis data sertifikat saya.
$ certutil -A -d .mozilla/firefox/kek3dogy.default/ -i /usr/local/share/ca-certificates/FNMT_ACRAIZ.crt -n "Certificado Raiz FNMT" -t "TCu,Cuw,Tuw"
lalu
$ certutil -L -d .mozilla/firefox/kek3dogy.default/
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Go Daddy Secure Certification Authority ,,
VeriSign Class 3 Secure Server CA - G3 ,,
VeriSign Class 3 Extended Validation SSL CA ,,
DigiCert High Assurance CA-3 ,,
GlobalSign Domain Validation CA - G2 ,,
GeoTrust SSL CA ,,
StartCom Class 2 Primary Intermediate Server CA ,,
Google Internet Authority ,,
Certificado Raiz FNMT CT,C,c
USERTrust Legacy Secure Server CA ,,
HP Jetdirect 2B0EAD20 ,,
Akamai Subordinate CA 3 ,,
VeriSign, Inc. ,,
Thawte SGC CA ,,
VeriSign Class 3 Secure Server CA - G2 ,,
Sertifikat tidak akan muncul di Firefox. Saya mencoba ini beberapa kali, bahkan menghapus profil, dan itu muncul sekali pada antarmuka Firefox, tetapi benar-benar kosong.
Bagaimanapun, itu hanya untuk pengguna, dan saya ingin menambahkannya ke seluruh sistem. Apakah ada basis data seluruh sistem yang dapat saya modifikasi? Bagaimana?
Jika tidak ada database seluruh sistem yang dapat saya modifikasi, saya dapat mengandalkan skrip start X (seperti skrip /etc/X11/Xsession.d/
, atau skrip yang dipanggil oleh sistem autostart xdg aktif /etc/xdg/autostart/
) untuk mengubah profil pengguna saat sesi dimulai, tetapi saya memerlukan solusi yang bekerja. Saya bahkan tidak dapat memuat sertifikat pada profil pengguna dari baris perintah sekarang!
sumber
profiles.ini
? Lalu Anda bisa menambahkan perubahan Anda ke sana, lalu menyalinnya danprofiles.ini
ke setiap direktori pengguna.firefox -p
- tetapi Anda harus menutup Firefox terlebih dahulu.Jawaban:
Masalahnya di sini adalah Firefox tidak memiliki lokasi 'sentral' tempat ia mencari sertifikat. Itu hanya melihat ke profil saat ini. Itu sebabnya memodifikasi
/usr/share/ca-certificates
atau direktori serupa lainnya tidak akan berfungsi dengan Firefox. Ini adalah sesuatu yang telah diminta selama bertahun-tahun; lihat masalah 620373 , 449498 dan 454036 (dan mungkin ada banyak lainnya).Jadi, Anda hanya memiliki dua jenis solusi: memodifikasi setiap profil, atau mengubah perilaku Firefox. Saya tahu ini bukan yang Anda cari, tetapi tidak ada cara karena Firefox hanya melihat profil pengguna.
Karena itu, solusi yang saya pilih adalah menggunakan tautan simbolis atau keras, khususnya saya menggunakan tautan keras. Solusi ini pasti yang paling mudah dan mungkin lebih baik, meskipun saya tidak punya cukup informasi untuk dihakimi.
Yang harus Anda lakukan pada dasarnya adalah menghapus masing
cert8.db
- masing dankey3.db
file untuk setiap profil dan menggantinya dengan tautan ke "paling lengkap"cert8.db
dankey3.db
. Jika Anda menggunakan hardlink, yang aslicert8.db
dankey3.db
tidak dapat dibedakan dari yang baru.Ingatlah untuk menyesuaikan izin agar sesuai dengan kebutuhan Anda. Kemungkinan besar, Anda harus melakukannya
chmod a+rw
agar semua orang dapat menambah / menghapus sertifikat. Jika Anda hanya ingin pengguna tertentu dapat menambah / menghapus sertifikat, Anda dapat membuat grup, menetapkan dua database untuk grup itu dan memberikan+w
izin hanya kepada grup.sumber
Cara termudah adalah dengan mengimpor sertifikat ke profil firefox sampel dan kemudian salin cert8.db ke pengguna yang ingin Anda lengkapi dengan sertifikat.
Pertama-tama impor sertifikat dengan tangan ke profil firefox pengguna sampel. Kemudian salin
ke dalam profil pengguna firefox. Itu dia. Jika Anda ingin memastikan, bahwa pengguna baru mendapatkan sertifikat secara otomatis, salin
cert8.db
ke:Berikut ini cara alternatif yang tidak menggantikan sertifikat yang ada: [bash fragment for linux systems]
Anda dapat menemukan certutil di paket libnss3-tools (debian / ubuntu).
Lihat juga: Impor terprogram Sertifikat CA
Sumber: Menginstal Sertifikat ke Mozilla secara terprogram
sumber
Bertolak belakang dengan kepercayaan yang populer, Anda bisa meminta Firefox untuk melihat sertifikat sistem alih-alih perangkat kerasnya sendiri.
Untuk melakukan ini, Anda ingin menggunakan paket yang disebut p11-kit . p11-kit menyediakan pengganti drop-in untuk
libnssckbi.so
, pustaka bersama yang berisi kumpulan sertifikat yang di-hardcode. Versi p11-kit sebagai gantinya membaca sertifikat dari toko sertifikat sistem.Karena Firefox dikirimkan dengan versi sendiri
libnssckbi.so
, Anda harus melacaknya dan menggantinya daripada versi yang disediakan di libnss3:Selanjutnya, hapus file
~/.pki
direktori untuk membuat Firefox menyegarkan basis data sertifikatnya (menyebabkannya menarik sertifikat sistem) setelah memulai ulang Firefox. Catatan: ini akan menghapus semua sertifikat yang ada di toko, jadi jika ada sertifikat khusus yang Anda tambahkan secara manual, Anda mungkin ingin mencadangkan folder itu dan kemudian mengimpor kembali.sumber
dpkg-divert
langkah untuk menghindari APT menimpa file lagi ketika Anda meningkatkan paket Firefox.Salah satu fitur dari add-on CCK Wizard Firefox adalah mengimpor sertifikat CA. Saya menggunakan pengaya ini untuk membuat pengaya khusus yang mencakup CA Cert perusahaan. Saya kemudian mengemas xpi kustom dalam. Deb pada repositori internal tempat semua workstation mendapatkan pembaruan.
Wisaya CCK
EDIT: Untuk mengemas xpi untuk Ubuntu, Anda perlu membuat paket yang menyertakan direktori / usr / lib / firefox-addons / extensions / [addon-name @ servername] dan unzip seluruh konten xpi ke direktori ini . Misalnya, jika Anda memberi nama addon foobarbaz dan server yang Anda setel untuk dimutakhirkan (jika Anda mengaktifkan fungsi itu) adalah intranet.example.com, maka direktori tersebut adalah [email protected]. Saya tidak pernah mengaktifkan pembaruan otomatis, melainkan memperbarui deb dalam repo.
sumber
Firefox berfungsi setelah instalasi bersih. Jika basis data sertifikat
cert8.db
dihapus, itu dibuat ulang pada awal Firefox berikutnya. Ini sangat menyarankan bahwa ada penyimpanan standar sistem CA yang luas.Kode sumber Firefox menunjukkan bahwa sertifikat CA bawaan memang sulit dikode menjadi
firefox
executable. Mereka tinggal keamanan / nss / lib / ckfw / builtins / certdata.txtJadi tidak ada cara untuk menginstal seluruh sistem sertifikat. Waspadalah bahwa menambal kode sumber dapat memunculkan masalah dengan hak kekayaan intelektual.
sumber
Saya menggunakan aplikasi "Virtualisasi Lingkungan Pengguna" (UEV) yang melakukan ini untuk pengguna saya, tetapi Anda dapat melakukan ini dengan skrip logon pada klien Windows sama saja. Saya tidak akan memposting semua kode untuk menemukan secara dinamis% APPDATA% \ Mozilla \ Firefox \% PROFILE% path, tetapi ketika Anda menemukannya, Anda dapat mengimpor skrip menggunakan beberapa perintah dasar. Saya pada dasarnya membaca file Firefox profiles.ini untuk menentukan jalur ke profil Firefox / cert8.db.
Anda mungkin ingin melihat menggunakan aplikasi certutil.exe. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
Anda dapat menjalankan skrip masuk untuk pengguna yang secara otomatis mengimpor sertifikat tepercaya dari lokasi pusat ke Firefox semua pengguna di sistem.
Berikut adalah "inti" dari skrip vb impor sertifikat saya:
sumber
Saya menemukan bahwa sebagian besar waktu dan secara default jika tidak dikonfigurasi, Firefox menggunakan basis data keamanan lama (cert8.db, key3.db, dan secmod.db) yang berarti Anda harus menggunakan baris perintah yang berbeda untuk menyuntikkan sertifikat ke dalam database yang benar yang digunakan Firefox. (lihat lebih banyak dari pria certutil)
jadi jika sistem Anda menggunakan basis data default, perintahnya harus seperti ini: (dbm)
kalau tidak, harus seperti ini: (sql)
dari man certutil:
sumber
certutil
perintah pertama berhasil. Saya sedang mencari mengotomatiskan skrip pengaturan pengguna tunggal dan ini berhasil. Anda harusapt-get install libnss3-tools
memilikinyacertutil
.