5. Autentifikācija ASP.NET Klienta SSL autentifkācijas gadījumā satur klienta sertifikāta informāciju HttpClientCertificate cert = Request.ClientCertificate; if (cert.IsPresent) { // validate certificate using OCSP if needed in addition to // CRL validation done by IIS web server // // OcspClient ocspClient = new OcspClient(new Uri("https://ocsp.eme.lv/responder.eme")); // ocspClient.Verify = true; // ... // get user data from the certificate by parsing subject name string clientName = null; if (cert.Subject.Contains("CN=")) { int idx = cert.Subject.IndexOf("CN=") + 3; clientName = cert.Subject.Substring(idx, cert.Subject.Length - idx); if (clientName.Contains(",")) clientName = clientName.Substring(0, clientName.IndexOf(",")); } // ... } OCSP pārbaude vēlama, bet nav obligāta, jo web serveris pats veic pārbaudi, izmantojot CRL
6. Autentifikācija PHP uz IIS7 if (isset($_SERVER["CERT_FLAGS"])){echo "Sertifikāta numurs: {$_SERVER['CERT_SERIALNUMBER']} <br/>";echo "Lietotāja subject name: {$_SERVER['CERT_SUBJECT']} <br/>"; $pair_array = parse_subject_name($_SERVER['CERT_SUBJECT']);print_subject_name($pair_array);}else{echo "User information not known!";} function parse_subject_name($serial){ $values = array(); $pairs = preg_split("/[,]+/", $serial); $count = count($pairs); for ($i = 0; $i < $count; $i++) {if (strlen(trim($pairs[$i])) > 0) { $pair = preg_split("/[=]/", trim($pairs[$i])); $values[$pair[0]] = $pair[1]; } }return (array)$values;}function print_subject_name($pair_array){foreach ($pair_array as $field => $value) {echo "{$field}: {$value} <br/>"; }} Karogs uzstādīts, ja klients veidojis SSL pieslēgumu ar savu klienta sertifikātu CERT_SERIALNUMBER mainīgais satur sertifikāta unikālo identifikācijas numuru, CERT_SUBJECT satur sertifikāta īpašnieka informāciju – arī personas kodu Palīgmetode īpašnieka informācijas pārveidei atribūtu un to vērtību masīvā