Hur infogar du ett SSL-certifikat i en cert7.db-fil som du har en LDAP-server som kör med SSL. Du behöver en cert7.db fil med den LDAP-certifikat på rutan klient. Hur gör du det?

Skapa en cert7.db kunde vara riktigt knepigt i vissa fall.
I princip finns det två sätt du kan få tag på en:

  • Genom att installera en gamla Netscape-webbläsare (v.4.79 skulle göra susen) och hämta det i din användarprofil (fyll denna procedur om du väljer att göra det).
  • Använd verktyget Netscape Network Security Service (NSS) ställa in (för närvarande underhållna av mozilla).

NSS verktyg inkluderar en nytta alarmerat certutil, som är kompetent (bland annat), för att översätta ett traditionella säkerhetscertifikat (i PEM eller CER-format) till en cert7DB fil... låter som exakt vad du behöver. Problemet är att nyare version än 3.2 i nss verktygslådor bara skapa cert8DB-fil, som inte är kompatibla med vissa ldap-klienten. Du kan fortfarande försöka använda en av dem men du kanske stötte på problem.

Om du tänker använda ett paket från din Linux-distribution (som libnss3-verktyg för debian) för att generera en cert7DB-fil, måste du se till att det är gamla nog (notera att den nuvarande beskrivningen av paketet libnss3-verktyg för debian felaktigt beskriver det som att kunna generera cert7.db).

Alternativt kan du ta en äldre version av toolkit på denna FTP-plats (framgångsrikt testat med version 3.2.2):
FTP.mozilla.org/pub/mozilla.org/Security/NSS/releases en gång utdraget, helt enkelt kopiera bibliotek i den. / lib subdir till en plats där du systemet finns dem (till exempel /usr/lib/usr/lib). Du kan köra certutil utililty ligger i/bin subdir. Du behöver även en fungerande installation av NetScape Portable Runtime bibliotek (NPSR). Din distribution kanske ger det (så länge du har en version > = 4, det ska vara några problem).

Om du är redo, kan du fortsätta med det första steget: att skapa en tom databas för lagring av certifikat. Först måste du skapa katalogen för att lagra databasen (standard är $home/.netscape):
mkdir /home/user/.netscape
(om du inte gör det, får du ett mycket tydligt meddelande ordstav: certutil: NSS_Initialize misslyckades: säkerhetsbiblioteket: dålig databas.) När det är gjort kan du lägga till ett certifikat från din Certifikatutfärdare genom att köra något sånt:
Certutil - A - n "certificateName" -t "C, C, C" - en -i Certfil -d sökväg

-En säger att vi vill lägga till ett certifikat i databasen. -n berätta Smeknamn relaterade till detta intyg (till exempel "CACert Org."), detta är inte en kritisk parameter, -t ge "förtroende attribut" certifikatet (vi får se det senare), - en säga att certifikatet är i ASCII-format (PEM), Använd inte är det om du certifikat CER format, -i ger sökvägen till certifikatfilen och slutligen -d bör vara sökvägen till katalogen som innehåller databasen ($home/.netscape som standard). Om ditt certifikat har undertecknats av en rotcertifikatutfärdare, din databas vi måste du inkludera servercertifikatet och av Root-Certifikatutfärdaren.

Certifikatet för rotcertifikatutfärdaren (eller från din servercertifikatet om självsignerade), bör åtminstone innehåller attributet följande förtroende: "C,,". Det är säger att denna CA ge betrodd servercertifikat för SSL-anslutningen. Du kan utöka detta attribut till "C, C, C" om det CA du använder också verifiera certifikat ska användas för S/MIME-innehåll (dvs: e-post) eller kryptografiska åtgärden på generiskt objekt. Attributet "T" gör samma men överväger klienten certifikat. Om du vill lita allt innehåll undertecknas av din Certifikatutfärdare kan ange: "CT, CT, CT".

Om servercertifikatet inte är självsignerat, du måste separat lägga till det genom att använda attributet p som anger att han är en betrodd peer (= server, av oppositionen till "u"-attribut för certifikat), så åtminstone: "p,,,".

På detta sätt bör du cert7.db filen vara komplett.

Det är därför mycket svårt att unterstand för sådan kritisk funktion, LDAP-klienter fortfarande använda en certifikatdatabasen i detta gamla och icke-öppna format, utan att ge någon nytta för att skapa helt enkelt sådana databas.
Om du vill veta mer om förtroende attribut:
http://docs.Sun.com/source/816-6732-10/authctn.html eller om cert7.db format: http://www.mozilla.org/projects/security/pki/nss/db_formats.html