Jeg prøver å generere et privat-offentlig nøkkelpar og konvertere den offentlige nøkkelen til et sertifikat som kan legges til inn i truststore.

Å generere privat & offentlig nøkkel: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem

Nå har jeg prøver å konvertere dette til et sertifikat:

openssl x509 -outform der -in public_key.pem -out public.cer 

Men jeg får en feil:

7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE 

Alle opplæringsprogrammer viser at jeg må konvertere pem til crt før jeg legger til en tillitsbutikk.

Svar

Du kan ikke » konvertere «en offentlig nøkkel til et sertifikat. Et sertifikat inkluderer den offentlige nøkkelen, men det inneholder også mer informasjon som emnet, utstederen, når sertifikatet er gyldig osv. Og et sertifikat er signert av utstederen. Dermed er det du trenger i stedet å lage en sertifikatsigneringsforespørsel (CSR) som inkluderer den offentlige nøkkelen, men som også inneholder all tilleggsinformasjon. Denne CSRen må deretter signeres av en sertifikatmyndighet (CA) som deretter resulterer i sertifikatet.

Hvis du vil opprette et enkelt selvsignert sertifikat som ikke er klarert av noen nettleser, se Hvordan lage et selvsignert sertifikat med openssl? .

Kommentarer

  • Så i dette eksemplet: openssl req -x509 -nykey rsa: 4096 -keyout key.pem -out cert.pem -days 365 key.pem vil inneholde både privat og offentlig nøkkel?
  • @ user1692342: Jeg ' er ikke sikker på hvordan spørsmålet i kommentaren er relatert til det opprinnelige spørsmålet. Men: key.pem er den private nøkkelen som inkluderer den offentlige nøkkelen , og den offentlige nøkkelen er også inkludert i cert.pem.

Svar

Du kan ikke konvertere en offentlig nøkkel til et sertifikat.

De originale kommandoene fungerer ikke siden PEM-koding / filformat forventer å inneholde den krypterte sertifikatteksten som nedenfor:

—– BEGIN SERTIFICATE —–

Certificate data here

—– END CERTIFICATE —–

Derfor, hvis du ser på den originale .PEM-filen og ser noe annet (som BEGIN RSA …), så er det feil.

Nå i henhold til trådtittelen du søker å konvertere en PEM til et CRT-filformat . Merk at x509-sertifikater kan være i to kodinger – DER og PEM. PEM kan også være i formatet .CRT, .CER og også .PEM.

Derfor, hvis du ser den feilen, er det også en sjanse for at du behandler et DER-kodet sertifikat som et PEM-kodet sertifikat. Du kan prøve å se om den faktisk er kodet av DER ved å følge instruksjonene på denne siden .

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *