Wiadomosci encyklopedyczne o pdpisie XML-owym (XML Sign) z wikipedii
Jest to rekomendacja W3C definiująca postać podpisu cyforwego. Wybrano do jego reprezentacji format XML. Funkcjonalnie format jest zbliżony do PKCS#7 ale ma większe możliwości rozszerzenia. Służy do popdpisywania danych tzw. zasobów dowolnego typu np. dokumentów XML, ale mogą to być dowolne zasoby dostępne przez URL. Jeżeli podpis XML-owy podpisuje dokument "leżący" poza nim to mamy do czynienia z zewnętrznym podpisem (detached). Jeżeli podpis XML stosuje się wewnątrz jakiegoś dokumentu to mamy do czynienia z podpisem wewnętrznym, w kopercie (enveloped). Jeżeli zawiera dane podpisane wewnątrz siebie to mówi się o podpisie zakopertowanym (enveloping). Wygląda to tak:
Signature SignedInfo - co zostało podpisane i jakim algorytmem SignatureMethod ------------- CanonicalizationMethod ------- Reference -------------------- odwołanie do zasobu URI Transforms ----------------- ewentualne transformacje DigestMethod --------------- algorytm mieszający DigestValue ----------------- wynik mieszania w Base-64 Reference ... SignatureValue ----------------- wartość podpisu KeyInfo ------------------------ klucz publiczny (do weryfikacji) Object ------------------------- dane będące podpisywane (gdy podpis enveloping), opcjonalne
Na czym polega walidacja. Musi zadziałać procedura Core Validation:
- Reference Validation - sprawdza każdy zasób i porównuje jego wynik mieszania z DigestValue
- Signature Validation - weryfikacja sygnatury
Schematycznie to wygląda tak:
Signature - znaczy digital signature - jest to przekształcenie message przy pomocy private key.
Brak komentarzy:
Prześlij komentarz