Kategoria PKI

ASN.1 i DER

W poprzednim wpisie pokazałem, jak dostać się do typowych, wspieranych przez .NET, rozszerzeń certyfikatów wersji 3. Wśród wspieranych brakuje jednak np. tak ważnego rozszerzenia jak informacje o punktach dystrybucji CRL. Bez dodatkowych bibliotek możemy zobaczyć tylko wersję „RAW” tego rozszerzenia, czyli tak na prawdę ciąg liczb 16-bitowych.

Jest to dobry moment, żeby zajrzeć do RFC opisującego budowę rozszerzenia i przyjrzeć się notacji ASN.1 oraz spróbować na tej podstawie zdekodować format DER, w którym zapisane jest to rozszerzenie.

PKI – budowa certyfikatu (2) – rozszerzenia

Przedstawione poprzednio certyfikaty w wersji 1 oraz 2 są dosyć ubogie biorąc pod uwagę informacje w nich zapisane. Tak na prawdę znajdziemy tam tylko daty ważności oraz nazwy podmiotu i jednostki, która podpisała certyfikat.

W wersji 3 certyfikatów znajduje się pole z rozszerzeniami. Są to dodatkowe atrybuty. Mogą zawierać np. informacje ułatwiające identyfikację podmiotu, do którego należy certyfikat albo informacje o możliwościach kryptograficznych. Ten wpis będzie właśnie o nich.

PKI – budowa certyfikatu (1)

Poprzednio opisałem podstawowe pojęcia dotyczące infrastruktury klucza publicznego. Teraz chciałbym bliżej zająć się samym certyfikatem. Tym jaką on ma budowę, które elementy są ważne, a które opcjonalne.

Będzie to bardzo ogólny opis dotyczący podstawowych elementów certyfikatów. Po więcej mogę odesłać do RFC 5280. Natomiast w temacie rozszerzeń planuję dedykowany wpis.

PKI – podstawy

Znajomi i współpracownicy wiedzą, że mam lekkiego jobla w temacie certyfikatów i pki. 😉 Wracam do tego tematu bardzo często od czasów studiów. Zawodowo można powiedzieć, że opiekuję się dwoma firmowymi infrastrukturami klucza publicznego – zarówno windowsowym (w ramach ad) jak i w oparciu o OpenSSL. Jednocześnie bardzo nie podobają mi się szeroko dostępne aplikacje GUI służące do zarządzania tymi. Narzędzia CLI są zaś mocno uciążliwe.

Dlatego od bardzo dawna myślę o napisaniu czegoś przyjemniejszego w obyciu.

Ten dokument, mam nadzieje, otworzy serie wpisów o programowych zabawach pki z poziomu .net i C#. Nie wiem czy finalnie uda się napisać żyjącą aplikację, ale mam zamiar popełnić kilka testów i prototypów.

Na start trochę teorii omawiającej czym jest PKI i banalny program, żeby chociaż trochę kodu się pojawiło.