Een certificaat bestaat uit een openbare sleutel, informatie die het certificaat identificeert en mogelijk een of meer certificaten die horen bij de uitgevende certificeringsinstantie.
Vertrouwen in een certificaat kan op twee manieren worden bepaald. U kunt vertrouwen tot stand brengen door een kopie van het certificaat op te vragen bij de ondertekenaar, bijvoorbeeld op fysieke media, of via een veilige digitale transmissie, bijvoorbeeld een SSL-transactie. U kunt ook afgaan op een certificeringsinstantie om te bepalen of het ondertekenende certificaat betrouwbaar is.
Als u wilt afgaan op een certificeringsinstantie, moet het ondertekenende certificaat worden uitgegeven door een instantie die wordt vertrouwd op de computer waarop de handtekening wordt gevalideerd. De meeste fabrikanten van besturingssystemen plaatsen de basiscertificaten van een aantal certificeringsinstanties in het vertrouwensarchief van het besturingssysteem. Gebruikers kunnen ook certificaten toevoegen aan en verwijderen uit deze opslag.
Zelfs als een certificaat is uitgegeven door een vertrouwde certificeringsinstantie, moet u nog beslissen of het certificaat hoort bij iemand die u vertrouwt. Vaak wordt deze beslissing doorgegeven naar de eindgebruiker. Wanneer bijvoorbeeld een AIR-toepassing wordt geïnstalleerd, geeft het AIR-installatieprogramma de identificerende informatie van het certificaat van de uitgever weer als de gebruiker wordt gevraagd of deze de toepassing wil installeren. In andere gevallen moet u mogelijk de openbare sleutel of andere certificaatinformatie vergelijken met een lijst met acceptabele sleutels. (Deze lijst moet worden beveiligd, mogelijk door middel van een eigen handtekening of door de lijst op te slaan in de door AIR gecodeerde lokale opslag, zodat er niet met de lijst kan worden geknoeid.)
Opmerking:
U kunt er weliswaar voor kiezen het ondertekenende certificaat te vertrouwen zonder onafhankelijke verificatie, bijvoorbeeld wanneer een handtekening zelf-ondertekend is, maar zo 'n verificatie betekent niet veel wat betreft betrouwbaarheid. Als u niet weet wie een handtekening heeft gemaakt, is de overtuiging dat er niet met de handtekening is geknoeid van weinig of geen waarde. De handtekening kan een correct ondertekende vervalsing zijn.
Verlopen en intrekking van certificaten
Alle certificaten verlopen uiteindelijk. Certificaten kunnen ook worden ingetrokken door de uitgevende certificeringsinstantie, bijvoorbeeld als de persoonlijke sleutel voor het certificaat door een kwaadwillende wordt gewijzigd of gestolen. Als een handtekening is ondertekend met een verlopen of ingetrokken certificaat, wordt de handtekening gerapporteerd als ongeldig, behalve als een tijdstempel is opgenomen als onderdeel van de handtekening. Als er een tijdstempel aanwezig is, valideert de klasse XMLSignatureValidator de handtekening mits het certificaat geldig was op het ogenblik dat het werd ondertekend.
Een tijdstempel is een getekend digitaal bericht van een tijdstempelservice dat bevestigt dat de gegevens op een bepaald tijdstip en een bepaalde datum zijn ondertekend. Tijdstempels worden uitgegeven door tijdstempelinstanties en worden ondertekend door het eigen certificaat van de tijdstempelinstantie. Het tijdstempel kan alleen worden vertrouwd wanneer het certificaat van de tijdstempelinstantie dat is ingesloten in de tijdstempel, wordt vertrouwd op de huidige computer. De XMLSignatureValidator biedt geen API waarmee een ander certificaat kan worden aangewezen voor het valideren van de tijdstempel.