เมื่อเปรียบเทียบกับการรับรองความถูกต้องขั้นพื้นฐาน (พื้นฐาน) การรับรองความถูกต้องแบบแยกย่อยของเซิร์ฟเวอร์โดเมน การรับรองความถูกต้องของ Windows แบบรวม หรือการรับรองความถูกต้องของแบบฟอร์มที่กำหนดเอง ใบรับรองดิจิทัลของไคลเอ็นต์มีความซับซ้อนมากกว่าเล็กน้อยในแง่ของการใช้งานและการจัดการ แต่ใบรับรองบางส่วนยังมีความยืดหยุ่นมากกว่าในแอปพลิเคชันอีกด้วย
มันง่ายมากที่จะประมวลผลและระบุใบรับรองดิจิทัลไคลเอนต์ใน ASP และ ASP.NET รหัสจะเป็นดังนี้:
ไวยากรณ์ ASP (VBScript):
Dim subject
subject=Request.ServerVariables("CERT_SUBJECT")
หรือ
subject=Request.ClientCertifate("Subject") '--ใช้ได้กับหัวเรื่องที่ไม่มีใบรับรองภาษาจีน
ASP.NET (C#) ไวยากรณ์:
string subject;
HttpClientCertificate hcc = Request.ClientCertificate;
if(hcc.IsValid) = hcc.Subject;
สตริงหัวเรื่องที่ได้รับคือรายการฟิลด์ย่อยที่คั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น C=CN,O=BOC,CN=moslem จากนั้นแยกสตริงและรับค่า CN สุดท้าย (อาจเป็นมากกว่าหนึ่ง CN) ค่านี้คือชื่อสามัญของผู้ใช้ซึ่งเป็น "ชื่อปกติ" โดยปกติจะเป็นชื่อผู้ใช้หรือ ID
หลังจากได้รับ CN ในใบรับรองดิจิทัลแล้ว คุณสามารถดำเนินการเพิ่มเติมได้ เช่น ให้สิทธิ์ผู้ใช้ ฉันคิดว่าแนวทางที่มีประสิทธิภาพมากกว่าคือการเปิดใช้งานใบรับรองดิจิทัลและการรับรองความถูกต้องของแบบฟอร์มในเวลาเดียวกันบนไคลเอนต์ สามารถทำได้โดยการเปรียบเทียบค่าของชื่อผู้ใช้ที่ป้อนใน CN และแบบฟอร์มเพื่อดูว่าตรงกันหรือไม่ .
ในทางกลับกัน ASP.NET มีคลาส HttpClientCertificate เฉพาะสำหรับการจัดการใบรับรองดิจิทัลของไคลเอ็นต์ ดังนั้นจึงสะดวกกว่าในการจัดการในโปรแกรม