[{"data":1,"prerenderedAt":506},["ShallowReactive",2],{"sc:header-data-sv":3,"sc:footer-data-sv":102,"glossary-sv--glossary-important-data-formats":140,"authors_data":422},{"lang":4,"home":5,"navigation":14,"contact":95},"en",{"name":6,"imgLight":7,"img":8,"languages":9},"home","/products/scepman/scepman-logo-all-white.svg","/products/scepman/scepman-logo-rgb.svg",{"sv":10},{"title":11,"url":12,"alt":13},"Hem","/sv","SCEPman",[15,19,25,31,83,89],{"name":16,"languages":17},"nav-home",{"sv":18},{"title":11,"url":12},{"name":20,"languages":21},"pricing",{"sv":22},{"title":23,"url":24},"Priser","/sv/pricing",{"name":26,"languages":27},"partner",{"sv":28},{"title":29,"url":30},"Partner","/sv/partner",{"name":32,"languages":33,"children":36},"support-hub",{"sv":34},{"title":35},"Support Hub",[37,53,68],{"name":38,"children":39},"support-hub-group-1",[40,47],{"name":41,"target":42,"languages":43},"docs","_blank",{"sv":44},{"title":45,"url":46},"Docs","https://docs.scepman.com/",{"name":48,"languages":49},"faq",{"sv":50},{"title":51,"url":52},"FAQ","/sv/faq",{"name":54,"children":55},"support-hub-group-2",[56,62],{"name":57,"target":42,"languages":58},"support-ticket",{"sv":59},{"title":60,"url":61},"Support Ticket","https://support.scepman.com/support/tickets/new?ticket_form=technical_support_request_%28scepman%29",{"name":63,"target":42,"languages":64},"drop-a-question",{"sv":65},{"title":66,"url":67},"Drop a Question","https://support.scepman.com/support/tickets/new?ticket_form=drop_a_question_%28scepman%29",{"name":69,"children":70},"support-hub-group-3",[71,77],{"name":72,"languages":73},"glossary",{"sv":74},{"title":75,"url":76},"Ordlista","/sv/glossary",{"name":78,"languages":79},"blog",{"sv":80},{"title":81,"url":82},"Blogg","/sv/blog",{"name":84,"languages":85},"events",{"sv":86},{"title":87,"url":88},"Evenemang","/sv/events",{"name":90,"languages":91},"about",{"sv":92},{"title":93,"url":94},"Om oss","/sv/about-us",{"name":96,"languages":97},"contact",{"sv":98},{"title":99,"url":100,"active":101},"support@scepman.com","mailto:support@scepman.com",false,{"data":103},{"mail":104,"logos":105,"socials":110,"links":123,"linksSv":133},"sales@SCEPman.com",[106],{"img":107,"alt":108,"url":109},"/products/scepman/scepman-logo-yellow.svg","SCEPman Logo","/",[111,115,119],{"icon":112,"url":113,"title":114},"fa-x-twitter","https://twitter.com/scepman_","X",{"icon":116,"url":117,"title":118},"fa-youtube","https://www.youtube.com/channel/UCKnLYxlQFhzdXkDADV_Unrg","Youtube",{"icon":120,"url":121,"title":122},"fa-linkedin","https://www.linkedin.com/showcase/scepman","LinkedIn",[124,127,130],{"title":125,"url":126,"target":42},"Privacy","https://www.glueckkanja.com/en/privacy",{"title":128,"url":129,"target":42},"Imprint","https://www.glueckkanja.com/en/imprint",{"title":131,"url":132,"target":42},"Contact & Locations","https://www.glueckkanja.com/en/company/contact-and-locations",[134,136,138],{"title":135,"url":126,"target":42},"Integritetspolicy",{"title":137,"url":129,"target":42},"Juridisk information",{"title":139,"url":132,"target":42},"Kontakt och kontor",{"id":141,"title":142,"author":143,"body":144,"cta":143,"description":376,"eventid":143,"extension":395,"hideInRecent":101,"layout":396,"meta":397,"moment":143,"navigation":417,"path":418,"seo":419,"stem":420,"tags":143,"webcast":101,"__hash__":421},"content_sv/glossary/important-data-formats.md","Viktiga dataformat",null,{"type":145,"value":146,"toc":375},"minimal",[147,152,175,183,186,191,196,199,202,205,209,212,216,219,222,230,233,237,245,249,252,255,268,272,285,289,292,295,299,302,311,315,318,321,324,335,339,342,346,354,357,365,368],[148,149,151],"h2",{"id":150},"x509","X.509",[153,154,155,156,160,161,168,169,174],"p",{},"X.509 är ",[157,158,159],"em",{},"den"," standard som gäller för digitala certifikat. Det har funnits konkurrenter som ",[162,163,167],"a",{"href":164,"rel":165},"https://www.rfc-editor.org/rfc/rfc4880",[166],"nofollow","OpenPGP",", men de används betydligt mer sällan i dag. Men vänta ... X.509 är egentligen inte rätt standard. X.509 är i själva verket en ITU-T-standard, medan de definitioner som verkligen spelar roll ingår i ",[162,170,173],{"href":171,"rel":172},"https://www.rfc-editor.org/rfc/rfc5280",[166],"RFC 5280",", alltså en standard från IETF och inte från ITU-T. Denna RFC definierar ”PKI Profile for the Internet” utifrån X.509, men det är den enda profil som har någon praktisk betydelse.",[153,176,177,178,182],{},"Ett digitalt certifikat bygger på asymmetrisk kryptografi och särskilt på digitala signaturer. Det vanligaste användningsfallet för digitala certifikat i dag är serverautentisering. Alla har redan använt dem, troligen oftast utan att veta att det rörde sig om ett X.509-certifikat: varje gång du besöker en HTTP",[179,180,181],"strong",{},"S","-webbplats upprättar webbläsaren en TLS-anslutning till webbservern. Webbservern använder ett X.509-certifikat för att bevisa vem den är. När människor besöker sin banks webbplats för att föra över pengar från sitt konto vill de till exempel vara säkra på att det verkligen är banken de kommunicerar med. Angripare kan försöka utge sig för att vara bankens webbplats, läsa av användarens lösenord och TAN-kod och sedan föra över pengarna till ett bankkonto som de själva kontrollerar. HTTPS bidrar till att förhindra det, eftersom angriparna inte har X.509-certifikatet för bankens webbserver. När webbläsaren säger att du besöker en viss domän och att anslutningen är HTTPS ser certifikatet till att du verkligen är ansluten till en webbserver som tillhör någon som äger domänen.",[153,184,185],{},"Hur gör certifikatet det? Certifikatet innehåller vissa metadata, den publika nyckeln i ett kryptografiskt nyckelpar och en signatur från en certifikatutfärdare. Låt oss gå igenom de tre delarna:",[187,188,190],"h3",{"id":189},"innehållet-i-ett-x509-certifikat","Innehållet i ett X.509-certifikat",[192,193,195],"h4",{"id":194},"metadata","Metadata",[153,197,198],{},"Metadata i X.509-certifikatet anger bland annat under vilken tid det är giltigt, vad certifikatet ska användas till och vem det utfärdades till. För ett TLS-servercertifikat innehåller de framför allt webbserverns domän. Webbläsaren jämför den domän den försökte besöka med domänen i certifikatet. Om de inte stämmer överens går webbläsaren inte vidare, utan visar en varning. Om certifikatet har gått ut visas också en varning.",[153,200,201],{},"Märkligt nog visade webbläsare ofta ingen varning när du besökte en HTTP-webbplats utan TLS, trots att det är ännu osäkrare. Om du besökte en webbserver med ett ogiltigt X.509-certifikat kunde det bara handla om en felkonfiguration, och du kunde ändå vara skyddad mot angripare som avlyssnar anslutningen, medan HTTP-anslutningen inte ger något skydd alls.",[153,203,204],{},"Det har dock gjorts vissa framsteg på området, till exempel Certificate Pinning. Men det är ett avancerat ämne, så vi går vidare till de två andra delarna i ett X.509-certifikat.",[192,206,208],{"id":207},"publik-nyckel","Publik nyckel",[153,210,211],{},"Certifikatet innehåller den publika delen av ett asymmetriskt nyckelpar. Kryptografin gör att webbservern (eller mer allmänt certifikatinnehavaren i andra användningsfall) kan bevisa att den också har den privata delen av nyckelparet utan att röja den för den anslutande klienten eller någon annan. Klienten kan därmed vara säker på att webbservern verkligen äger certifikatet och inte bara är någon som har kopierat det. Att kopiera själva certifikatet är faktiskt ganska enkelt, eftersom webbservern skickar en kopia till alla som försöker ansluta till den. Att stjäla den privata nyckeln är svårt eller omöjligt, eftersom den aldrig lämnar webbservern. Det finns olika metoder för att göra det svårare att stjäla den privata nyckeln, till exempel HSM:er och TPM:er.",[192,213,215],{"id":214},"signatur-från-en-certifikatutfärdare","Signatur från en certifikatutfärdare",[153,217,218],{},"Med hjälp av metadata kan klienten kontrollera att certifikatet passar för det specifika användningsfallet. Den publika nyckeln visar att motparten verkligen äger certifikatet. Men en angripare skulle kunna skapa ett nytt nyckelpar och ett nytt certifikat som också uppfyller de två kriterierna. Hur ska en klient veta att certifikatet går att lita på?",[153,220,221],{},"Certifikatet innehåller en kryptografisk signatur från ett annat nyckelpar som hör till ett certifikat för en certifikatutfärdare (CA). CA-certifikatet kan kontrolleras på samma sätt och är också signerat av ett certifikat. Klienten kan följa denna ”förtroendekedja” från det så kallade lövcertifikatet upp till Root CA-certifikatet, som den känner igen på att det är självsignerat, det vill säga att certifikatets signatur kommer från dess eget nyckelpar. Vanligtvis rör det sig bara om ett eller två steg, så bara ett eller två CA-certifikat är inblandade.",[153,223,224,225,229],{},"Certifikatutfärdare måste noga kontrollera att alla metadata stämmer när de ",[162,226,228],{"href":227},"enrollment-methods/","utfärdar ett certifikat",". Om du vill ha ett TLS-servercertifikat för din egen domän måste du till exempel bevisa för CA:n att du verkligen äger den. Beroende på hur grundlig kontrollen är får du ett enkelt certifikat eller ett Extended Validation-certifikat (EV).",[153,231,232],{},"Varje webbläsare och operativsystem levereras med en lista över fördefinierade betrodda Root CA:er. Användare och administratörer kan lägga till fler betrodda Root CA:er. Vissa Root CA:er är betrodda bara för specifika ändamål, andra har ett mer generellt förtroende. Klienten kontrollerar om förtroendekedjan slutar i en betrodd Root CA. Om den gör det, och alla certifikat i förtroendekedjan fortfarande är giltiga och deras metadata visar att de används enligt sitt ändamål, är webbserverns lövcertifikat betrott och anslutningen upprättas.",[187,234,236],{"id":235},"giltighet-för-x509-certifikat","Giltighet för X.509-certifikat",[153,238,239,240,244],{},"X.509-certifikat handlar helt och hållet om förtroende som måste byggas upp. Som beskrivits är ett kriterium för förtroende att certifikatet kan kedjas upp till en betrodd Root CA. Ett annat är att det befinner sig inom sin giltighetstid. Det betyder oftast att det inte har gått ut, men ett certifikat kan också ännu inte ha börjat gälla, vanligtvis på grund av tekniska fel. Det finns dock ytterligare ett kriterium: certifikatutfärdaren som utfärdade certifikatet får inte ha återkallat det. Eftersom det är ett ämne i sig har vi en ",[162,241,243],{"href":242},"other-stuff/certificate-lifecycle-management","separat artikel"," om det.",[148,246,248],{"id":247},"pkcs7","PKCS#7",[153,250,251],{},"PKCS#7 är den schweiziska armékniven bland kryptografiska dataformat och kan innehålla i stort sett vad som helst: krypterade meddelanden, signerade meddelanden, signerade och krypterade meddelanden, certifikat och privata nycklar",[153,253,254],{},"Det är också formatets största nackdel. När ett program eller en användare får en PKCS#7 är det inte i sig självklart vad som ska göras med den. Här är några viktiga användningsfall:",[256,257,258,262,265],"ul",{},[259,260,261],"li",{},"S/MIME-meddelanden är i grunden e-postmeddelanden med PKCS#7 som brödtext eller bilaga.",[259,263,264],{},"SCEP-förfrågningar och SCEP-svar är båda i själva verket signerade PKCS#7-meddelanden.",[259,266,267],{},"EST-svar är CMS-meddelanden.",[187,269,271],{"id":270},"kodning","Kodning",[153,273,274,275,279,280,284],{},"Vanliga filändelser är .p7b (",[162,276,278],{"href":277},"asn.1-and-pem#der-encoding","DER-kodad","), .p7s (ett signerat meddelande eller en meddelandesignatur) och .p7m (ett signerat eller krypterat meddelande, eller båda delarna). ",[162,281,283],{"href":282},"asn.1-and-pem#pem-encoding","PEM-kodning"," med etiketten ”PKCS7” är också definierad men används sällan.",[187,286,288],{"id":287},"verktyg","Verktyg",[153,290,291],{},"I Windows kan du öppna PKCS#7-meddelanden med ett dubbelklick, och Crypto-shell-tilläggen visar innehållet åt dig. Du kan dock oftast bara extrahera certifikat och tillhörande privata nycklar ur meddelandet, inte själva meddelandeinnehållet.",[153,293,294],{},"Du kan konvertera filerna till andra format med verktyg som OpenSSL.",[148,296,298],{"id":297},"pkcs10","PKCS#10",[153,300,301],{},"En certifikatsigneringsbegäran (CSR) enligt PKCS#10 är en fil som beskriver ett certifikat som du vill skaffa från en certifikatutfärdare (CA). Den har liknande struktur som ett X.509-certifikat men saknar signaturen från en CA. I stället innehåller den signaturen från den som begär certifikatet. Det är ändå ett annat format, så det är inte samma sak som ett självsignerat certifikat.",[153,303,304,305,310],{},"Den kan vara binärt DER-kodad eller PEM-kodad ",[162,306,309],{"href":307,"rel":308},"https://datatracker.ietf.org/doc/html/rfc7468#section-7",[166],"med etiketten ”CERTIFICATE REQUEST”",".",[148,312,314],{"id":313},"pkcs12","PKCS#12",[153,316,317],{},"PKCS#12 kallas också PFX, särskilt i Windows-miljöer. Vanliga filändelser är därför .pfx och .p12. Formatet innehåller X.509-certifikat och nästan alltid tillhörande privata nycklar, även om det tekniskt sett inte är ett krav.",[153,319,320],{},"Data i en PKCS#12-fil är vanligtvis krypterade med lösenord. Ofta är bara den privata nyckeln krypterad, så du skulle kunna extrahera certifikaten utan att känna till lösenorden om ditt program tillåter det (de flesta gör inte det). PKCS#12 är det vanligaste sättet i Windows-miljöer att lagra ett certifikat och dess privata nyckel i en fil. I Linux-miljöer är PEM-kodade PKCS#8-filer vanligare.",[153,322,323],{},"Eftersom standarden erbjuder många sätt att lagra certifikat och privata nycklar i nästlade ”safebags” har PKCS#12-filer vissa kompatibilitetsproblem, till exempel:",[256,325,326,329,332],{},[259,327,328],{},"Windows är ökänt för att koppla privata nycklar i en PKCS#12 till alla certifikat som extraheras ur filen, inte bara till det certifikat nyckeln hör till. Om PKCS#12-filen innehåller en certifikatkedja kan Windows visa att det har den privata nyckeln till CA-certifikatet.",[259,330,331],{},"På macOS går det inte att importera PKCS#12-filer om de kryptografiska algoritmerna är för nya.",[259,333,334],{},"Det kan vara nödvändigt att kryptera certifikaten i en PKCS#12-fil för att mottagande program ska kunna extrahera dem. Men vissa stöder bara mycket gamla och svaga algoritmer, vilket oftast inte är något problem eftersom informationen ändå är offentlig. OpenSSL 3.x stöder dock inte dessa gamla och sårbara algoritmer och vägrar öppna PKCS#12-filen.",[148,336,338],{"id":337},"asn1-och-pem","ASN.1 och PEM",[153,340,341],{},"Abstract Syntax Notation One (ASN.1) är ett språk som används för att beskriva datastrukturer. Det finns ett antal fördefinierade grundläggande datatyper som heltal och sekvenser, och den som skapar ett protokoll eller filformat kan sedan definiera egna datatyper utifrån de grundläggande.",[187,343,345],{"id":344},"der-kodning","DER-kodning",[153,347,348,353],{},[162,349,352],{"href":350,"rel":351},"https://www.itu.int/rec/T-REC-X.680/",[166],"ITU-T-standarden X.680"," definierar olika kodningar för data som specificerats som ASN.1. För X.509-relaterade data är DER den viktigaste kodningen, eftersom det bara finns ett sätt att koda en typ. Ett hashvärde av typens binära DER-representation får därför alltid samma värde, vilket är viktigt till exempel när ASN.1-kodade data ska signeras.",[187,355,283],{"id":356},"pem-kodning",[153,358,359,360,364],{},"För många, men inte alla, X.509-relaterade filtyper kan du antingen lagra filen binärt i DER-kodning eller lägga på ytterligare en ",[162,361,283],{"href":362,"rel":363},"https://datatracker.ietf.org/doc/html/rfc7468",[166]," ovanpå DER-kodningen. PEM använder bara ASCII-tecken och går därför lätt att kopiera och klistra in via urklipp eller, för några decennier sedan när det fortfarande var relevant, skicka med e-post.",[187,366,288],{"id":367},"verktyg-1",[153,369,370,371,310],{},"Om du har en ASN.1-kodad fil och antingen inte vet vilken typ den är eller saknar ett program som hanterar just den typen kan du ändå avkoda den råa ASN.1-strukturen och se vad den innehåller. I Windows kan det inbyggda verktyget certutil göra detta med kommandot ",[372,373,374],"code",{},"certutil -decode",{"title":376,"searchDepth":377,"depth":377,"links":378},"",2,[379,384,388,389,390],{"id":150,"depth":377,"text":151,"children":380},[381,383],{"id":189,"depth":382,"text":190},3,{"id":235,"depth":382,"text":236},{"id":247,"depth":377,"text":248,"children":385},[386,387],{"id":270,"depth":382,"text":271},{"id":287,"depth":382,"text":288},{"id":297,"depth":377,"text":298},{"id":313,"depth":377,"text":314},{"id":337,"depth":377,"text":338,"children":391},[392,393,394],{"id":344,"depth":382,"text":345},{"id":356,"depth":382,"text":283},{"id":367,"depth":382,"text":288},"md","post",{"lang":398,"seoTitle":399,"titleClass":400,"blogtitlepic":401,"socialimg":402,"customExcerpt":403,"keywords":404,"asideNav":405,"maxContent":417},"sv","Viktiga dataformat: X.509, PKCS, ASN.1 och PEM förklarade","h1-font-size","header-scepman-important-data-formats.png","/blog/heads/header-scepman-important-data-formats.png","Utforska viktiga format för kryptografi och certifikat, bland annat X.509, PKCS 7, PKCS 10, PKCS 12, ASN.1 och PEM.","viktiga dataformat, X.509-certifikat, PKCS-format, PKCS 7, PKCS 10, PKCS 12, ASN.1, PEM-format, digitala certifikat, public key infrastructure, PKI-format",{"menuItems":406},[407,409,411,413,415],{"href":408,"text":151},"#x509",{"href":410,"text":248},"#pkcs7",{"href":412,"text":298},"#pkcs10",{"href":414,"text":314},"#pkcs12",{"href":416,"text":338},"#asn1-och-pem",true,"/glossary/important-data-formats",{"title":142,"description":376},"glossary/important-data-formats","3a6OndOTQ6ztdZ--kn4-sdNn_HFkHOOX6kCzoK1QhhY",{"id":423,"extension":424,"meta":425,"stem":504,"__hash__":505},"authors_data/authors.json","json",{"path":426,"Alexander Rudolph":427,"Sophie Luna":433,"Nadine Kern":439,"Thorben Pöschus":445,"Karsten Kleinschmidt":451,"Julian Wendt":457,"Holger Bunkradt":462,"Ralf Mania":468,"Oliver Kieselbach":474,"Steffen Schwerdtfeger":480,"Christoph Hannebauer":486,"body":491,"title":503,"Thorben Poeschus":445},"/authors",{"display_name":428,"avatar":429,"permalink":430,"twitter":431,"linkedin":432},"Alexander Rudolph","people/people-alexander-rudolph.png","author/alexander-rudolph/","AlexanderOnIT","rudolph-alexander",{"display_name":434,"avatar":435,"permalink":436,"twitter":437,"linkedin":438},"Sophie Luna","c_thumb,h_1600,w_1600/people/people-sophie-luna.jpg","author/sophie-luna/","glueckkanjagab","company/glueckkanja-gab",{"display_name":440,"avatar":441,"permalink":442,"twitter":443,"linkedin":444},"Nadine Kern","people/people-nadine-kern.png","author/nadine-kern/","nadineausRT","nadine-kern",{"display_name":446,"avatar":447,"permalink":448,"twitter":449,"linkedin":450},"Thorben Pöschus","people/people-thorben-poeschus.png","author/thorben-poeschus/","TPO901","thorben-pöschus-624693b7",{"display_name":452,"avatar":453,"permalink":454,"twitter":455,"linkedin":456},"Karsten Kleinschmidt","people/people-karsten-kleinschmidt.png","author/karsten-kleinschmidt/","KarstenonIT","karstenkleinschmidt",{"display_name":458,"avatar":459,"permalink":460,"linkedin":461},"Julian Wendt","people/people-julian-wendt.png","author/julian-wendt/","julian-wendt",{"display_name":463,"avatar":464,"permalink":465,"linkedin":466,"twitter":467},"Holger Bunkradt","people/people-holger-bunkradt.png","author/holger-bunkradt/","holger-bunkradt-12b5053b","hbunkradt",{"display_name":469,"avatar":470,"permalink":471,"linkedin":472,"twitter":473},"Ralf Mania","people/people-ralf-mania.png","author/ralf-mania/","ralf-mania-146a2757","RaMa1976",{"display_name":475,"avatar":476,"permalink":477,"linkedin":478,"twitter":479},"Oliver Kieselbach","people/people-oliver-kieselbach.png","author/oliver-kieselbach/","oliver-kieselbach-a4a3409","okieselbT",{"display_name":481,"avatar":482,"permalink":483,"linkedin":484,"twitter":485},"Steffen Schwerdtfeger","people/people-steffen-schwerdtfeger.png","author/steffen-schwerdtfeger/","steffen-schwerdtfeger","SteffenAtCloud",{"display_name":487,"avatar":488,"permalink":489,"twitter":437,"linkedin":438,"imageOffsetTop":490},"Dr. Christoph Hannebauer","people/people-christoph-hannebauer.png","/authors/christoph-hannebauer/","72%",{"Alexander Rudolph":492,"Sophie Luna":493,"Nadine Kern":494,"Thorben Pöschus":495,"Karsten Kleinschmidt":496,"Julian Wendt":497,"Holger Bunkradt":498,"Ralf Mania":499,"Oliver Kieselbach":500,"Steffen Schwerdtfeger":501,"Christoph Hannebauer":502},{"display_name":428,"avatar":429,"permalink":430,"twitter":431,"linkedin":432},{"display_name":434,"avatar":435,"permalink":436,"twitter":437,"linkedin":438},{"display_name":440,"avatar":441,"permalink":442,"twitter":443,"linkedin":444},{"display_name":446,"avatar":447,"permalink":448,"twitter":449,"linkedin":450},{"display_name":452,"avatar":453,"permalink":454,"twitter":455,"linkedin":456},{"display_name":458,"avatar":459,"permalink":460,"linkedin":461},{"display_name":463,"avatar":464,"permalink":465,"linkedin":466,"twitter":467},{"display_name":469,"avatar":470,"permalink":471,"linkedin":472,"twitter":473},{"display_name":475,"avatar":476,"permalink":477,"linkedin":478,"twitter":479},{"display_name":481,"avatar":482,"permalink":483,"linkedin":484,"twitter":485},{"display_name":487,"avatar":488,"permalink":489,"twitter":437,"linkedin":438,"imageOffsetTop":490},"Authors","authors","PIJJchcHqfzD5YPmn4V8YLxY6gtySOfBG5u8lTczi2w",1790098983416]