ඔබ උබුන්ටු වෙත සහතික අධිකාරියක් (CA) එකතු කරන්නේ කෙසේද?


191

සහතික සඳහා මුදල් නොගෙවා අපගේ කාර්යයේ විවිධ පැතිකඩයන් ආරක්ෂිතව හැසිරවීමට ඔවුන්ගේම සහතික අධිකාරියක් (CA) නිකුත් කිරීමට මගේ කාර්යය තීරණය කර ඇත .

  • ගුප්ත ලේඛනගත ඊමේල් අත්සන් කරන්න
  • ඊමේල් අන්තර්ගතයන් සංකේතනය කරන්න
  • සමාගමේ IRC සේවාදායක-සහතිකය පදනම් කරගත් දේ වෙත ප්‍රවේශය ලබා දෙන්න .
  • හිටපු සේවකයින්ගේ යතුරු ස්වයංක්‍රීයව අවලංගු කරන්න

ඔවුන් මට .pemගොනුවක් එවූ අතර එය මගේ උබුන්ටු ස්ථාපනයට එකතු කරන්නේ කෙසේදැයි මට විශ්වාස නැත. යවන ලද උපදෙස් වූයේ: "මැක් මත එය මත දෙවරක් ක්ලික් කිරීමෙන් එය ස්ථාපනය කළ යුතුය." 

මා ඉදිරියට යන්නේ කෙසේද? මම යමක් කිරීමට අවශ්ය වන්නේ ඇයි OpenSSL නිර්මාණය කිරීමට .key, .csrහෝ .crtගොනු?


4
අදහස් දැක්වීම "යවන ලද උපදෙස්: Mac" මැක් මත එය මත දෙවරක් ක්ලික් කිරීමෙන් එය ස්ථාපනය කළ යුතුය. day "" මගේ දවස බවට පත් කළේය
mzoll

Answers:


262

CA එකක් ස්ථාපනය කිරීම

ඔබගේ සහතිකය PEM ආකෘතියෙන් (එහි ඇති ආකෘතිය ----BEGIN CERTIFICATE----) පිටපත් /usr/local/share/ca-certificatesකර .crtගොනු දිගුවක් සමඟ නම් කරන්න.

ඉන්පසු දුවන්න sudo update-ca-certificates.

Caveats: මෙම ස්ථාපනය බලපාන්නේ මෙම සහතික ගබඩාව භාවිතා කරන නිෂ්පාදන වලට පමණි. සමහර නිෂ්පාදන වෙනත් සහතික වෙළඳසැල් භාවිතා කළ හැකිය; ඔබ එම නිෂ්පාදන භාවිතා කරන්නේ නම්, ඔබට මෙම CA සහතිකය වෙනත් සහතික ගබඩාවලට එක් කිරීමට අවශ්‍ය වේ. ( ෆයර්ෆොක්ස් උපදෙස් , ක්‍රෝම් උපදෙස් , ජාවා උපදෙස් )

CA පරීක්ෂා කිරීම

ඔබ දැන් එකතු කළ සහතිකය සෙවීමෙන් මෙය ක්‍රියාත්මක වූයේ දැයි ඔබට සත්‍යාපනය කළ හැකිය /etc/ssl/certs/ca-certificates.crt (එය ඔබගේ විශ්වාසදායක CA හි සියලු දෙනාගේ එකට එකතු වූ දීර් list ලැයිස්තුවකි).

ඔබ විසින් ස්ථාපනය කරන ලද CA විසින් අත්සන් කරන ලද සහතිකයක් භාවිතා කරන බව ඔබ දන්නා සේවාදායකයකට සම්බන්ධ වීමට උත්සාහ කිරීමෙන් ඔබට OpenSSL හි s_client භාවිතා කළ හැකිය.

$ openssl s_client -connect foo.whatever.com:443 -CApath /etc/ssl/certs

CONNECTED(00000003)
depth=1 C = US, ST = Virginia, O = "Whatever, Inc.", CN = whatever.com, emailAddress = admin@whatever.com
verify return:1
depth=0 C = US, ST = Virginia, L = Arlington, O = "Whatever, Inc.", CN = foo.whatever.com
verify return:1
---
Certificate chain
 0 s:/C=US/ST=Virginia/L=Arlington/O=Whatever, Inc./CN=foo.whatever.com
   i:/C=US/ST=Virginia/O=Whatever, Inc./CN=whatever.com/emailAddress=admin@whatever.com

... snip lots of output ...

    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1392837700
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

සොයා බැලිය යුතු පළමු දෙය නම් නිමැවුමේ ඉහළින් ඇති සහතික දාමයයි. මෙය නිකුත් කරන්නා ලෙස සීඅයිඒ පෙන්විය යුතුය (ඊළඟට i:). ඔබ ස්ථාපනය කරන CA විසින් අත්සන් කරන ලද සහතිකයක් සේවාදායකයා විසින් ඉදිරිපත් කරන බව මෙය ඔබට කියයි.

දෙවනුව, verify return codeසකස් කළ යුතු අවසානය දෙස බලන්න 0 (ok).


4
මෙය සැබවින්ම ක්‍රියාත්මක වේ
සබරීෂ් කකානන්

1
ෆයර්ෆොක්ස් / ක්‍රෝම් සුපුරුදු සහතික ගබඩාව භාවිතා නොකරන බව සඳහන් කිරීමට ස්තූතියි.
ටිම් ස්ට්‍රිජ්හෝස්ට්

5
යාවත්කාලීන-සී-සහතික ඉතා සියුම් විය හැකි බව සලකන්න (බොහෝ විට සැලසුම අනුව). mycert.pem.crt වැඩ කළේ නැත, නමුත් mycert.crt ක්‍රියාත්මක විය. එය / usr / local / share / ca- සහතික විය යුතු යැයි මම සිතමි, / usr / share / ca- සහතික නොවේ (/etc/ca-certificates.conf හි අදහස් දැක්වුවද).
ලිබරින්ට්

2
දීර් crtcomment අදහස් දැක්වීමට ස්තූතියි , මෙම කාර්යය මා සඳහා ලබා ගැනීමේ රහස certඑයයි , මට දිගුවක් සහිත සහතිකයක් ලබා දුන් අතර කිසිවක් ක්‍රියාත්මක නොවන්නේ මන්දැයි ව්‍යාකූල විය.
රැන්සම් බ්‍රිග්ස්

3
එක් අවවාදයක්: s_clientපෙරනිමියෙන් SNI යවන්නේ නැති අතර සේවාදායකයාට විවිධ සහතික සහිත අථත්‍ය ධාරක / අඩවි සඳහා සහය දක්වන්නේ නම් SNI අවශ්‍ය විය හැකිය; මෙම නඩුව සඳහා එකතු කරන්න -servername foo.whatever.com. නැතහොත් එය වෙබ් සේවාදායක භාවිතයක් නම් (නවීන සංස්කරණ) curlහෝ wgetSNI ස්වයංක්‍රීයව කරන්නේ නම්.
dave_thompson_085

70

man update-ca- සහතික :

update-ca-certificates  is a program that updates the directory /etc/ssl/certs to hold SSL
certificates  and  generates  ca-certificates.crt,  a  concatenated  single-file  list  of
certificates.

It  reads  the  file  /etc/ca-certificates.conf.  Each  line  gives  a  pathname  of  a CA
certificate under /usr/share/ca-certificates that should be  trusted.   Lines  that  begin
with  "#"  are  comment lines and thus ignored.  Lines that begin with "!" are deselected,
causing the deactivation of the CA certificate in question. Certificates must have a  .crt
extension in order to be included by update-ca-certificates.

Furthermore  all  certificates  with  a  .crt  extension  found below /usr/local/share/ca-
certificates are also included as implicitly trusted.

ඉහත සිට, මම විශ්වාස කරන්නේ දේශීය සහතික ලිපිගොනු විශ්වාසදායක ගබඩාවට ලබා ගැනීමට වඩාත් සුදුසු ක්‍රමය ඒවා දමා ඒවා /usr/local/share/ca-certificatesක්‍රියාත්මක update-ca-certificatesකිරීමයි. ඔබට /etc/ssl/certsකෙලින්ම ස්පර්ශ කිරීමට අවශ්‍ය නැත .


24
.Crt දිගුවන් සමඟ සහතික නම් කිරීමද අවශ්‍ය බව පෙනෙන්නට තිබුණි.
ඔබේ මෝඩයන්ට හොඳින් සලකන්න

@Phyzome සටහනට ස්තූතියි - වෙනත් ආකාරයකින් මගේ සහතිකය එක් කිරීමට නොහැකි වනු ඇත.
සයිරියා

3
--freshඑය වැඩ කිරීමට මට එකතු කිරීමට සිදු විය. උදාupdate-ca-certificates --fresh
එලියා ලින්

16

update-ca-certificatesපද්ධති සහතික ගබඩාවෙන් කියවන යෙදුම් සඳහා අනෙක් පිළිතුරු නිවැරදි ය. ක්‍රෝම් සහ ෆයර්ෆොක්ස් සහ තවත් සමහර අය සඳහා, සහතිකය මොසිල්ලා එන්එස්එස් පුස්තකාලයේ පසුබිම වන එන්එස්ඩීබී තුළ තැබිය යුතුය.

Https://code.google.com/p/chromium/wiki/LinuxCertManagement වෙතින් :

උදාහරණයක් ලෙස, SSL සේවාදායක සහතික නිකුත් කිරීම සඳහා root CA සහතිකයක් විශ්වාස කිරීමට, භාවිතා කරන්න

certutil -d sql: OM HOME / .pki / nssdb -A -t "C ,," -n <සහතිකයේ අන්වර්ථ නාමය> -i <සහතික ගොනු නාමය>

<certificate nickname>අත්තනෝමතික වන්නේ කොතැනද , <certificate filename>එය ඔබගේ .pem හෝ .crt ගොනුව වේ.

වෙනත් ප්‍රයෝජනවත් යොමු කිරීම්:


ස්තූතියි. එය ක්‍රෝම් 53.0.2785.143 සඳහා උබුන්ටු 16.04 මත ක්‍රියා කරයි, නමුත් ෆයර්ෆොක්ස් 49 සඳහා වෙනම ගබඩාවක් ඇති බව පෙනේ. askubuntu.com/a/248326/535154
mauron85

මාර්ගය වන විට, ඔබට ක්‍රෝම් හි පළමු ධාවනයට පෙර සහතිකය ස්ථාපනය කිරීමට අවශ්‍ය නම් (එනම් .pki / dir තවමත් අතුරුදහන් වී ඇත), ඔබ පළමුව nssdb නිර්මාණය කළ යුතුය:mkdir -p $HOME/.pki/nssdb && chmod -R 0700 $HOME/.pki && certutil -d sql:$HOME/.pki/nssdb -N --empty-password
akavel

1
පද්ධති සහතික ගබඩාවෙන් කියවීමට ක්‍රෝම් සහ ෆයර්ෆොක්ස් ලබා ගැනීමට ක්‍රමයක් තිබේ. මගේ පිළිතුර බලන්න: superuser.com/a/1312419/506107
wheeler

මෙය අපූරුයි, ස්තූතියි. ආයතනික එස්එස්එල් විකේතනය පිටුපස ස්ලැක් සහ කණ්ඩායම් පෙරදසුන දෝෂ රහිතව භාවිතා කළ හැකිය.
බෙවන්

15

මට එකම ගැටළුවක් ඇති අතර, .pemගොනුව /usr/local/share/ca-certificatesනැවත නම් කිරීමට මට සිදුවිය .crt. මෙම .cerගොනුව ඉතා පහසුවෙන් පරිවර්තනය කළ හැක .pem, OpenSSL සමග, උදාහරණයක් ලෙස, නෑ ඔබ නොමැති නම් .pem.

ගොනුව පිටපත් කිරීමෙන් පසු ඔබ ක්‍රියාත්මක කළ යුතුය sudo update-ca-certificates.


1
openssl x509 -inform DER -in certificate.cer -out certificate.crt
වෙබ්වර්ස්ට්

11

ඩේබියන් මත පදනම් වූ නව ගොඩනැඟිලි සඳහා, ඔබට ධාවනය කිරීමට අවශ්‍ය විය හැකිය:

sudo dpkg-reconfigure ca-certificates

සටහන: sudo dpkg-ca- සහතික නැවත සකස් කිරීම අභ්‍යන්තරව යාවත්කාලීන-ca- සහතික අමතයි

ඔබ මේ කිසිවක් කිරීමට පෙර සහතිකය (.crt ගොනුව) / usr / share / ca- සහතික වෙත පිටපත් කළ යුතුය.


6

Dwmw2 හි පිළිතුර මත පදනම්ව , ඔබට ඇත්ත වශයෙන්ම NSS එහි සහතික කළමනාකරණය සඳහා පද්ධති විශ්වාස ගබඩාව භාවිතා කරන යෙදුම් වලට පැවසිය හැකිය.

libnss3පෙරනිමියෙන් කියවීමට-පමණක් මූල CA සහතික කට්ටලයක් සහිත නැව් ( libnssckbi.so), එබැවින් බොහෝ විට ඔබ ඒවා ඔබ විසින්ම දේශීය පරිශීලක විශ්වාස ගබඩාවට එකතු කළ යුතුය $HOME/.pki/nssdb. ස්ථාපනය කර ඇති පද්ධතිය පුරා ඇති මූල සහතික සඳහා ඇඩැප්ටරයක් ​​ලෙස ක්‍රියා කරන ඒ p11-kitසඳහා ඩ්‍රොප්-ඉන් ආදේශනයක් ඉදිරිපත් libnssckbi.soකරයි /etc/ssl/certs.

සංස්කරණය කරන්න:

libnssckbi.soඇතුළට වඩා වැඩි සංස්කරණයක් එහි ඇති බව පෙනේ libnss3. පහත දැක්වෙන්නේ ඒවා සියල්ලම සොයා ගැනීමට, ඒවා උපස්ථ කිරීමට සහ ඒවාට සබැඳි ආදේශ කිරීමට ය p11-kit:

sudo apt-get update && sudo apt-get install -y p11-kit libnss3
find / -type f -name "libnssckbi.so" 2>/dev/null | while read line; do
    sudo mv $line ${line}.bak
    sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so $line
done

මුල් උපදෙස්:

මෙය සිදු කිරීම සඳහා, ස්ථාපනය p11-kitකර libnss3(ඒවා දැනටමත් ස්ථාපනය කර නොමැති නම්):

sudo apt-get update && sudo apt-get install -y p11-kit libnss3

ඉන්පසු libnssckbi.soසපයන ලද උපස්ථය libnss3:

sudo mv /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so.bak

අවසාන වශයෙන්, සංකේතාත්මක සබැඳිය සාදන්න:

sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so

එය ක්‍රියාත්මක වූ බව සනාථ කිරීම සඳහා, ඔබට ධාවනය කළ හැකි ll /usr/lib/x86_64-linux-gnu/nss/libnssckbi.soඅතර එය සබැඳිය පෙන්විය යුතුය:

lrwxrwxrwx 1 root root 49 Apr  9 20:28 /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so -> /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so

දැන්, ඔබ භාවිතා කරමින් CA ගබඩාවට සහතිකයක් එකතු කරන්නේ නම් update-ca-certificates, එම සහතික දැන් libnss3ක්‍රෝම් වැනි එන්එස්එස් ( ) භාවිතා කරන යෙදුම් සඳහා ලබා ගත හැකිය .


මම පසුගිය දින 3 තිස්සේ උබුන්ටු 18.04 සමඟ සටන් කර මෙය ක්‍රියාත්මක කිරීමට උත්සාහ කර ඇති අතර එය කිසිදු හේතුවක් නිසා ක්‍රියා නොකරනු ඇත. මම p11-kit-trust.so හා libnssckbi.so සමඟ සම්බන්ධ කරමි, නමුත් එසේ කරන විට තවදුරටත් සහතික නොමැත . මා වෙත යන ඕනෑම වෙබ් අඩවියක් https සක්‍රීය කර ඇත (එය මූලික වශයෙන් ඒ සියල්ලම වේ) ආරක්ෂක ගැටළුවක් ඇති බව විමසයි. මට නැති වූ දෙයක් පැහැදිලිව පෙනෙනවාද?
කෙවින් වාස්කෝ

3

සටහන් කර ඇති පරිදි, එන්එස්එස් භාවිතා කරන විවිධ යෙදුම් වලට තමන්ගේම සහතික ගබඩාවක් ඇත. උබුන්ටු මත දේවල් පවතින බැවින් certutil, එක් එක් යෙදුම සඳහා, එක් එක් පරිශීලකයා සඳහා ඔබේ CA එකතු කිරීමට ඔබ අතින් භාවිතා කළ යුතුය.

ෆෙඩෝරා වැනි වෙනත් බෙදාහැරීම් වලදී, මේ ආකාරයේ දේ ජස්ට් වර්ක්ස් ™ වන අතර ඔබ ස්ථාපනය කරන සීඅයිඒ ස්වයංක්‍රීයව විශ්වාස නොකරන ඕනෑම යෙදුමකට එරෙහිව දෝෂයක් ගොනු කළ යුතුය update-ca-trust.

ඔබ මෙම උබුන්ටු තුළ ද ස්ථාපනය විසින් අදාල කරුණ නිවැරදි කළ හැකි p11-kit-modulesපැකේජය හා පසුව NSS වෙනුවට බිල්ට් විශ්වාසය මුල්p11-kit-trust.so, සිට, උදාහරණයක් වශයෙන්, සංකේතාත්මක පුරුකක් කරමින් /usr/lib/firefox/libnssckbi.soකිරීමට/usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so

එවිට ඔබ ඇත පද්ධතියේ මානකරනය විශ්වාසය මුල්, නෑ සමහර දැඩි, ව්යංගාර්ථවත්ව අය ලබා ගන්න. උබුන්ටු එම libnssckbi.so පුස්තකාලයේ විවිධ පිටපත් දෘඩ කේත සහිත විශ්වාස මූලයන් සමඟ නැව්ගත කරන බව සලකන්න, ඔබ ඒවා සියල්ලම ප්‍රතිස්ථාපනය කළ යුතුය!

cf. https://bugs.launchpad.net/ubuntu/+source/nss/+bug/1647285


මම කළ විට sudo find / -type f -name "libnssckbi.so", එය සොයා libnssckbi.soස්ථාන තුනක්: /usr/lib/thunderbird/, /usr/lib/firefox/, සහ /usr/lib/x86_64-linux-gnu/nss/. ඉතින් ඔබ කියන්නේ මම libnssckbi.soඑම ෆෝල්ඩර තුනේම සම්බන්ධ කළ යුතු බවයි p11-kit-trust.so?
රෝද රථය

1
හරි, සම්බන්ධ කිරීම /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so-> /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.soCHARM එකක් මෙන් ක්‍රියා කරන බව තහවුරු කර ඇත. මට සහතිකයක් එක් කිරීමට /usr/local/share/ca-certificates, ධාවනය sudo update-ca-certificatesකිරීමට සහ ප්‍රෙස්ටෝ වෙත එක් කිරීමට හැකි විය , ක්‍රෝම් ස්වයං අත්සන් කළ සහතික භාර ගැනීමට පටන් ගත්තේය.
රෝද රථය

days dwmw2 මම උබුන්ටු 18.04 සමඟ සටන් කර පසුගිය දින 3 ක කාලය තුළ මෙය ක්‍රියාත්මක කිරීමට උත්සාහ කර ඇති අතර එය කිසිදු හේතුවක් නිසා ක්‍රියා නොකරනු ඇත. මම p11-kit-trust.so හා libnssckbi.so සමඟ සම්බන්ධ කරමි, නමුත් එසේ කරන විට තවදුරටත් සහතික නොමැත. මා වෙත යන ඕනෑම වෙබ් අඩවියක් https සක්‍රීය කර ඇත (එය මූලික වශයෙන් ඒ සියල්ලම වේ) ආරක්ෂක ගැටළුවක් ඇති බව විමසයි. මට නැති වූ දෙයක් පැහැදිලිව පෙනෙනවාද?
කෙවින් වාස්කෝ

1

මෙහි එක් කිරීම සඳහා බරපතල මෝඩ පිළිතුරක්, නමුත් මම පැය 2 ක් ලිනක්ස් වල සර්ටිටයිල් සමඟ ඉදිරියට හා පසුපසට ගියෙමි ... සියල්ල නිවැරදි යැයි මට විශ්වාසයි:

hutber@hutber-mint /var/www/asos-mvt-framework $ certutil -L -d sql:${HOME}/.pki/nssdb

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

anyproxy                                                     CT,, 
rootCA                                                       CT,, 
myasos                                                       CT,, 

නමුත් තවමත්, ක්‍රෝම් හි කිසිවක් ක්‍රියාත්මක නොවීය. මම හැම දෙයක්ම අත්හදා බැලුවා, අවසානයේ ....

Restarting Chrome

අනුගමනය කිරීමෙන් පසු මගේ සාර්ථකත්වයට යතුර වූයේ: ස්ටීවන් සඳුදා උපදෙස්

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.