Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje použití certifikátů v aplikacích WinUI. Digitální certifikáty se používají v kryptografii veřejného klíče k vytvoření vazby veřejného klíče k osobě, počítači nebo organizaci. Vázané identity se nejčastěji používají k ověření jedné entity v jiné. Certifikáty se například často používají k ověření webového serveru pro uživatele a uživatele na webovém serveru. Můžete vytvářet žádosti o certifikáty a instalovat nebo importovat vystavené certifikáty. Certifikát můžete také zaregistrovat v hierarchii certifikátů.
Sdílená úložiště certifikátů
Aplikace WinUI používají nový izolovaný aplikační model zavedený ve Windows 8. V tomto modelu aplikace běží v konstruktoru operačního systému nízké úrovně, označovaný jako kontejner aplikace, který zakazuje aplikaci přistupovat k prostředkům nebo souborům mimo sebe, pokud to explicitně nepovolíte. Následující části popisují důsledky, které to má na infrastrukturu veřejných klíčů (PKI).
Úložiště certifikátů na kontejner aplikace
Certifikáty, které jsou určeny k použití v konkrétním kontejneru aplikace, jsou ukládány na místa specifická pro každého uživatele a každý kontejner aplikace. Aplikace spuštěná v kontejneru aplikace má přístup k zápisu jenom k vlastnímu úložišti certifikátů. Pokud aplikace přidá certifikáty do některého z jeho úložišť, nebudou tyto certifikáty moct číst jiné aplikace. Pokud je aplikace odinstalovaná, odeberou se také všechny certifikáty specifické pro danou aplikaci. Aplikace má také přístup pro čtení k úložištím certifikátů místního počítače kromě úložiště MY a REQUEST.
Cache
Každý kontejner aplikace má izolovanou mezipaměť, ve které může ukládat certifikáty vystavitele potřebné k ověření, seznamům odvolaných certifikátů (CRL) a odpovědím protokolu OCSP (Online Certificate Status Protocol).
Sdílené certifikáty a klíče
Při vložení čipové karty do čtečky se certifikáty a klíče obsažené na této kartě rozšíří do úložiště MY uživatele, kde je může sdílet libovolná aplikace s plnou důvěryhodností, kterou uživatel používá. Ve výchozím nastavení ale kontejnery aplikací nemají přístup k úložišti MY pro jednotlivé uživatele.
Chcete-li tento problém vyřešit a povolit skupinám uživatelů přístup ke skupinám prostředků, model izolace kontejneru aplikace podporuje koncept schopností. Funkce umožňuje, aby proces kontejneru aplikace přistupoval ke konkrétnímu prostředku. Funkce sharedUserCertificates uděluje kontejneru aplikace přístup ke čtení certifikátů a klíčů obsažených v úložišti MY uživatele a úložišti důvěryhodných kořenových certifikátů čipových karet. Funkce neuděluje uživateli přístup ke čtení úložiště POŽADAVKŮ.
V manifestu zadáte schopnost sharedUserCertificates, jak je znázorněno v následujícím příkladu.
<Capabilities>
<Capability Name="sharedUserCertificates" />
</Capabilities>
Pole certifikátu
Standard certifikátu veřejného klíče X.509 byl v průběhu času revidován. Každá následná verze datové struktury uchovává pole, která existovala v předchozích verzích, a přidala další, jak je znázorněno na následujícím obrázku.
Některá z těchto polí a rozšíření lze zadat přímo při použití CertificateRequestProperties třídy k vytvoření žádosti o certifikát. Většina z nich nemůže. Tato pole mohou být vyplněna vydávající autoritou nebo mohou být ponechána prázdná. Další informace o polích najdete v následujících částech:
Pole verze 1
| Pole | Description |
|---|---|
| Verze | Určuje číslo verze zakódovaného certifikátu. V současné době jsou možné hodnoty tohoto pole 0, 1 nebo 2. |
| Sériové číslo | Obsahuje kladné jedinečné celé číslo přiřazené certifikační autoritou (CA) k certifikátu. |
| Algoritmus podpisu | Obsahuje identifikátor objektu (OID), který určuje algoritmus používaný certifikační autoritou k podepsání certifikátu. Například 1.2.840.113549.1.1.5 určuje algoritmus hash SHA-1 v kombinaci s šifrovacím algoritmem RSA z laboratoří RSA. |
| Issuer | Obsahuje rozlišující název X.500 certifikační autority, která vytvořila a podepsala certifikát. |
| Platnost | Určuje časový interval, během kterého je certifikát platný. Data do konce roku 2049 používají formát Coordinated Universal Time (Greenwich Mean Time) (ymmddhhmmssz). Kalendářní data od 1. ledna 2050 používají zobecněný formát času (rrrrmmddhhmmssz). |
| Předmět | Obsahuje rozlišující název entity X.500 přidruženou k veřejnému klíči obsaženému v certifikátu. |
| Veřejný klíč | Obsahuje informace o veřejném klíči a přidruženém algoritmu. |
Pole verze 2
Certifikát X.509 verze 2 obsahuje základní pole definovaná ve verzi 1 a přidá následující pole.
| Pole | Description |
|---|---|
| Jedinečný identifikátor vystavitele | Obsahuje jedinečnou hodnotu, kterou lze použít k tomu, aby byl název certifikační autority X.500 jednoznačný při opakovaném použití různými entitami v průběhu času. |
| Jedinečný identifikátor subjektu | Obsahuje jedinečnou hodnotu, kterou lze použít k tomu, aby byl název X.500 subjektu certifikátu jednoznačný při opakovaném použití různými entitami v průběhu času. |
Rozšíření verze 3
Certifikát X.509 verze 3 obsahuje pole definovaná ve verzi 1 a verzi 2 a přidává rozšíření certifikátů.
| Pole | Description |
|---|---|
| Identifikátor autoritního klíče | Identifikuje veřejný klíč certifikační autority, který odpovídá privátnímu klíči certifikační autority použitému k podepsání certifikátu. |
| Základní omezení | Určuje, jestli lze entitu použít jako certifikační autoritu, a pokud ano, počet podřízených certifikačních autorit, které mohou existovat pod ní v řetězu certifikátů. |
| Zásady certifikátů | Určuje zásady, podle kterých byl certifikát vydán, a účel, pro který se dá použít. |
| Distribuční body seznamu CRL | Obsahuje identifikátor URI základního seznamu odvolaných certifikátů (CRL). |
| Rozšířené použití klíče | Určuje způsob použití veřejného klíče obsaženého v certifikátu. |
| Alternativní název vystavitele | Určuje jeden nebo více alternativních názvů formulářů pro vystavitele žádosti o certifikát. |
| Použití klíče | Určuje omezení operací, které lze provádět veřejným klíčem obsaženým v certifikátu. |
| Názvová omezení | Určuje obor názvů, ve kterém musí být umístěny všechny názvy subjektů v hierarchii certifikátů. Rozšíření se používá jenom v certifikátu certifikační autority. |
| Omezení zásad | Omezuje ověřování cesty zakázáním mapování zásad nebo vyžadováním, aby každý certifikát v hierarchii obsahoval přijatelný identifikátor zásady. Rozšíření se používá jenom v certifikátu certifikační autority. |
| Mapování zásad | Určuje zásady v podřízené certifikační autoritě, které odpovídají zásadám vydávající certifikační autority. |
| Období použití privátního klíče | Určuje jinou dobu platnosti privátního klíče než pro certifikát, ke kterému je privátní klíč přidružený. |
| Alternativní název předmětu | Určuje jeden nebo více alternativních názvů formulářů pro předmět žádosti o certifikát. Příkladem alternativních formulářů jsou e-mailové adresy, názvy DNS, IP adresy a identifikátory URI. |
| Atributy adresáře objektu | Vyjadřuje identifikační atributy, jako je státní příslušnost subjektu certifikátu. Hodnota rozšíření je posloupnost dvojic OID-hodnota. |
| Identifikátor klíče subjektu | Rozlišuje mezi několika veřejnými klíči uchovávanými subjektem certifikátu. Hodnota rozšíření je obvykle hodnota hash SHA-1 klíče. |
Windows developer