Enterprise รุ่น
ระดับความเชื่อมั่นตาม eIDAS
ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”NextPDF Enterprise แปลงหลักฐานจากบัญชีรายชื่อที่เชื่อถือได้ของสหภาพยุโรปให้เป็นระดับความเชื่อมั่นตาม eIDAS (LoA) อย่างชัดเจน บริการ NextPDF\Enterprise\Security\Eidas\LoaMapping จำแนกรายการบริการเชื่อถือได้หนึ่งรายการเป็น Low, Substantial, หรือ High โดยคืนค่า LoaAssertion ที่บรรจุระดับพร้อมรหัสเหตุผลที่เครื่องอ่านได้ กระบวนการทำงานของคุณสามารถกำหนดเงื่อนไขตามระดับความเชื่อมั่นได้ — “ต้องการ High” — และเก็บถาวรเหตุผลเหล่านั้นไว้เป็นหลักฐานการตรวจสอบ ตัวป้องกันคู่กันอย่าง CertPiiGuard จะปิดบังฟิลด์ตัวตนของผู้ลงนามก่อนที่ระเบียนการตรวจสอบจะออกจากกระบวนการ
ขอบเขตสองประการช่วยกำหนดกรอบความสามารถนี้ตามความเป็นจริง ประการแรก การรับรองคุณสมบัติเป็นของผู้ให้บริการเชื่อถือได้ (TSP) ภายใต้การกำกับดูแลของรัฐสมาชิกเสมอ NextPDF ยืนยันการจำแนกประเภทเหนือหลักฐานที่เผยแพร่ ไม่เคยมอบให้ ยกให้ หรือรับรองคุณสมบัติ ประการที่สอง หน้านี้ครอบคลุมเฉพาะการยืนยันและการจับคู่ LoA เท่านั้น นโยบาย PAdES เชิงโครงสร้าง eidasQualified() รวมถึงเกณฑ์ผ่าน/ไม่ผ่านของมัน มีบันทึกอยู่ใน Validation
การใช้งานและการออกใบอนุญาต
หัวข้อที่มีชื่อว่า “การใช้งานและการออกใบอนุญาต”ความสามารถนี้มาพร้อมกับ NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองใบอนุญาตระดับ Enterprise การนำไปใช้งานที่ไม่มีสิทธิ์ดังกล่าวจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและรับใบอนุญาต
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/enterprisemetapackage nextpdf/premium ก็แก้ไขไปที่แพ็กเกจ Enterprise เช่นกัน การเปิดใช้งานใช้ซองใบอนุญาต Enterprise ของคุณ ดู Licensing and activation คลาส eIDAS ไม่ต้องการส่วนขยาย PHP ใดนอกเหนือจากพื้นฐานของเอนจิน โดยจะโหลดอัตโนมัติภายใต้ NextPDF\Enterprise\Security\Eidas และ NextPDF\Enterprise\Signature\Eidas
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”Regulation (EU) No 910/2014 (eIDAS) กำหนดระดับความเชื่อมั่นสามระดับ ได้แก่ low, substantial, และ high (Article 8(1)) แต่ละระดับแสดงถึงระดับความเชื่อมั่นในตัวตนที่อ้างถึง ระดับ high เพิ่มการควบคุมที่มีจุดประสงค์เพื่อ ป้องกัน — ไม่ใช่เพียงลด — การใช้ในทางที่ผิดหรือการเปลี่ยนแปลงตัวตน (Article 8(2)(c)) Article 8 กำหนดระดับเหล่านี้สำหรับโครงการระบุตัวตนทางอิเล็กทรอนิกส์ NextPDF นำคำศัพท์ชุดเดียวกันมาใช้ซ้ำเพื่อจำแนกหลักฐานบริการเชื่อถือได้ที่อยู่เบื้องหลังใบรับรองการลงนาม การนำมาใช้ซ้ำนี้เป็นข้อตกลงเชิงวิศวกรรมสำหรับการกำหนดเงื่อนไขนโยบายและการตรวจสอบ ไม่ใช่ความเทียบเท่าทางกฎหมาย
enum LoaLevel จำลองสามระดับนี้ ค่าที่รองรับของมันเป็น URI ของ LoA ตาม eIDAS แทนที่จะเป็นเพียงป้ายกำกับเปล่า ดังนั้นคำยืนยันที่บันทึกไว้จึงพกพาตัวระบุแบบเต็ม rank() ให้ลำดับที่สมบูรณ์ (Low = 1, Substantial = 2, High = 3) และ meetsOrExceeds() เปรียบเทียบกับระดับพื้นที่กำหนดไว้
LoaMapping คำนวณระดับจากรายการบัญชีรายชื่อที่เชื่อถือได้หนึ่งรายการ — TspService จากระบบย่อยบัญชีรายชื่อที่เชื่อถือได้ของ Enterprise (NextPDF\Enterprise\Security\Tsl) การจับคู่เป็นแบบกำหนดผลได้:
| หลักฐานจากบัญชีรายชื่อที่เชื่อถือได้ | ระดับ | รหัสเหตุผล |
|---|---|---|
| สถานะบริการไม่ใช่ granted | Low | service_not_granted |
ประเภทบริการไม่ใช่ CA/QC | Low | service_not_qualified_ca |
CA/QC ที่ granted พร้อม QCWithQSCD และไม่มี QCNoQSCD | High | ca_qc_with_qscd บวก esig_or_eseal หรือ qc_default |
CA/QC ที่ granted กรณีอื่น | Substantial | ca_qc_no_qscd_or_unspecified |
ตัวบ่งชี้ QSCD (อุปกรณ์สร้างลายเซ็นที่ผ่านการรับรอง) เป็นจุดหมุนสำคัญ ภายใต้ Article 3(12) ลายเซ็นอิเล็กทรอนิกส์ที่ผ่านการรับรองต้องมีทั้งใบรับรองที่ผ่านการรับรองและอุปกรณ์สร้างที่ผ่านการรับรอง คำระบุจากบัญชีรายชื่อที่เชื่อถือได้ว่าใบรับรองถูกจัดการบน QSCD จึงเป็นหลักฐานที่รองรับคำยืนยัน High หากไม่มีคำระบุดังกล่าว CA ที่ผ่านการรับรองที่ granted ยังคงรองรับได้เพียง Substantial ไม่ใช่ High
ผลลัพธ์คือ LoaAssertion ได้แก่ ระดับพร้อมรายการรหัสเหตุผล เหตุผลเหล่านี้ช่วยให้ผู้บริโภคการตรวจสอบสามารถอนุมานการจำแนกประเภทซ้ำจากหลักฐานเดียวกันได้ในภายหลัง ตัวประเมินนโยบายปลายทางสามารถบันทึกคำยืนยันควบคู่ไปกับผลลัพธ์การตรวจสอบลายเซ็นได้
อีกหนึ่งชิ้นส่วนที่มาพร้อมกับโมดูลนี้คือ CertPiiGuard เมื่อสิ่งประดิษฐ์การตรวจสอบถูกจัดลำดับลงในชุดการตรวจสอบ JSON ใบรับรองผู้ลงนามจะพกพาข้อมูลส่วนบุคคล — Subject CN, แอตทริบิวต์อีเมล, และแอตทริบิวต์ serialNumber ซึ่งอาจเข้ารหัสตัวระบุระดับชาติสำหรับบุคคลธรรมดา GDPR Article 5(1)(c) กำหนดให้การประมวลผลจำกัดอยู่เฉพาะที่จำเป็น ตัวป้องกันจึงปิดบังฟิลด์เหล่านั้นโดยค่าเริ่มต้น โดยแทนที่ค่าด้วย [REDACTED] ในขณะที่ยังคงรักษาซองโครงสร้างไว้ (ฟิลด์องค์กร ประเทศ ห่วงโซ่ และสถานะ) ผู้บริโภคยังคงตรวจสอบได้ ว่า ลายเซ็นผ่านหรือไม่ โดยไม่ต้องรู้ ว่าใคร เป็นผู้ลงนาม
เหตุใดจึงทำงานเช่นนี้
หัวข้อที่มีชื่อว่า “เหตุใดจึงทำงานเช่นนี้”การตัดสินใจที่เป็นแกนหลักคือการแยก คำยืนยันความเชื่อมั่น ออกจาก คำตัดสินการตรวจสอบ การตรวจสอบลายเซ็นตาม ETSI EN 319 102-1 จบลงด้วยการบ่งชี้สถานะ — TOTAL-PASSED, TOTAL-FAILED, หรือ INDETERMINATE — และคำตัดสินนั้นเป็นของชั้นการตรวจสอบ การจับคู่ LoA เป็นการจำแนกประเภทที่แยกต่างหากและเล่นซ้ำได้เหนือหลักฐานจากบัญชีรายชื่อที่เชื่อถือได้ โดยมีรหัสเหตุผลแทนป้ายกำกับเปล่า สิ่งนี้ทำให้ NextPDF ไม่เคยนำเสนอคำอ้างความเชื่อมั่นเป็นผลลัพธ์การตรวจสอบ หรือนำเสนอผลลัพธ์การตรวจสอบเป็นการมอบคุณสมบัติ อีกทั้งยังทำให้การจับคู่มีความระมัดระวังโดยการออกแบบ: หลักฐานที่ขาดหายหรือคลุมเครือจะลดระดับลง ไม่เคยยกระดับขึ้น
พื้นฐานการออกแบบ: Qualified signatures, explained
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”สัญลักษณ์ทั้งหมดด้านล่างเป็น API สาธารณะใน nextpdf/enterprise 3.1.0
LoaLevel
หัวข้อที่มีชื่อว่า “LoaLevel”enum LoaLevel: string{ case Low = 'http://eidas.europa.eu/LoA/low'; case Substantial = 'http://eidas.europa.eu/LoA/substantial'; case High = 'http://eidas.europa.eu/LoA/high';
public function rank(): int
public function meetsOrExceeds(self $required): bool}ส่งข้อยกเว้นหรือล้มเหลวด้วย: ไม่มีจาก rank() หรือ meetsOrExceeds() การสร้าง enum เนทีฟผ่าน LoaLevel::from() ส่ง \ValueError เมื่อพบ URI ที่ไม่รู้จัก ส่วน LoaLevel::tryFrom() คืนค่า null แทน
LoaMapping
หัวข้อที่มีชื่อว่า “LoaMapping”final class LoaMapping{ public function loaForService(TspService $service): LoaAssertion}ส่งข้อยกเว้นหรือล้มเหลวด้วย: ไม่มี เมธอดนี้เป็นแบบเบ็ดเสร็จ — อินพุต TspService ทุกตัวให้ผล LoaAssertion
DTO อินพุต NextPDF\Enterprise\Security\Tsl\TspService และ NextPDF\Enterprise\Security\Tsl\TspServiceQualifier เป็น DTO สาธารณะที่เสถียร (@api) การจับคู่ปรึกษา TspService::STATUS_GRANTED, TspService::TYPE_CA_QC, และค่าคงที่ตัวบ่งชี้ TspServiceQualifier::QSCD_STATEMENT (QCWithQSCD), TspServiceQualifier::NO_QSCD (QCNoQSCD), TspServiceQualifier::FOR_ESIG, และ TspServiceQualifier::FOR_ESEAL
LoaAssertion
หัวข้อที่มีชื่อว่า “LoaAssertion”final readonly class LoaAssertion{ /** * @param list<non-empty-string> $reasons Machine-readable reason codes for the assertion. */ public function __construct( public LoaLevel $level, public array $reasons, ) {}}ส่งข้อยกเว้นหรือล้มเหลวด้วย: ไม่มี วัตถุค่าที่ไม่เปลี่ยนแปลง
CertPiiGuard
หัวข้อที่มีชื่อว่า “CertPiiGuard”final readonly class CertPiiGuard{ public function __construct( private bool $disclosePii = false, ) {}
public function disclosesPii(): bool
public function guardSignerCommonName(string $signer): string
public function guardDistinguishedName(string $dn): string
public function guardTsaName(string $tsaName): string
public function guardRootIssuer(string $issuer): string
public function guardChainIssue(string $issue): string}ส่งข้อยกเว้นหรือล้มเหลวด้วย: ไม่มี ตัวป้องกันเป็นการแปลงสตริงล้วน สำหรับส่วนประกอบ DN ที่ไม่สามารถแยกโทเคนได้อย่างมั่นใจ ตัวป้องกันจะล้มเหลวแบบปิดและยุบส่วนประกอบให้เหลือ [REDACTED] แทนที่จะปล่อยค่าที่ปิดบังเพียงบางส่วน
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”แจงส่วน URI ของ LoA และเปรียบเทียบกับระดับพื้นที่กำหนด
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Security\Eidas\LoaLevel;
// A LoA URI as persisted in an audit record or received from a peer system.$uri = 'http://eidas.europa.eu/LoA/substantial';
try { $level = LoaLevel::from($uri);} catch (\ValueError $e) { // Unknown URI: refuse to classify. Never guess an assurance level. echo "Unrecognized LoA URI: {$uri}\n"; exit(1);}
echo 'Level: ' . $level->name . ' (rank ' . $level->rank() . ")\n";echo 'Meets substantial: ' . ($level->meetsOrExceeds(LoaLevel::Substantial) ? 'yes' : 'no') . "\n";echo 'Meets high: ' . ($level->meetsOrExceeds(LoaLevel::High) ? 'yes' : 'no') . "\n";ผลลัพธ์ที่คาดหวัง:
Level: Substantial (rank 2)Meets substantial: yesMeets high: noตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”จำแนกรายการบัญชีรายชื่อที่เชื่อถือได้ กำหนดเงื่อนไขตามระดับที่ต้องการ และปล่อยระเบียนการตรวจสอบที่ปิดบังแล้ว
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Security\Eidas\LoaLevel;use NextPDF\Enterprise\Security\Eidas\LoaMapping;use NextPDF\Enterprise\Security\Tsl\TspService;use NextPDF\Enterprise\Security\Tsl\TspServiceQualifier;use NextPDF\Enterprise\Signature\Eidas\CertPiiGuard;
// Normally produced by the Enterprise trusted-list subsystem from a// member-state TSL; constructed inline here for a self-contained example.$caPem = (string) file_get_contents(__DIR__ . '/example-qc-ca.pem');
$service = new TspService( tspName: 'Example Qualified TSP', serviceName: 'Example Qualified CA G2', serviceTypeIdentifier: TspService::TYPE_CA_QC, serviceStatus: TspService::STATUS_GRANTED, statusStartingTime: '2024-01-01T00:00:00Z', serviceCertificatePem: $caPem, qualifiers: [ new TspServiceQualifier(qualifierUri: TspServiceQualifier::QSCD_STATEMENT), new TspServiceQualifier(qualifierUri: TspServiceQualifier::FOR_ESIG), ], additionalServiceInformation: [],);
try { // Required floor from deployment configuration; defaults to High. $required = LoaLevel::from(getenv('LOA_REQUIRED') ?: LoaLevel::High->value);} catch (\ValueError $e) { echo "Invalid LOA_REQUIRED URI; refusing to continue.\n"; exit(1);}
$mapping = new LoaMapping();$assertion = $mapping->loaForService($service);
// Privacy by default: signer identity fields are redacted in audit output.$guard = new CertPiiGuard();
$audit = [ 'loa' => $assertion->level->value, 'reasons' => $assertion->reasons, 'meets_required' => $assertion->level->meetsOrExceeds($required), 'signer' => $guard->guardSignerCommonName('CN=Jane Example, O=Example Corp, C=DE'),];
echo json_encode($audit, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n";ผลลัพธ์ที่คาดหวัง:
{ "loa": "http://eidas.europa.eu/LoA/high", "reasons": [ "ca_qc_with_qscd", "esig_or_eseal" ], "meets_required": true, "signer": "CN=[REDACTED], O=Example Corp, C=DE"}กรณีขอบและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและข้อควรระวัง”LoaLevel::from()ส่ง\ValueErrorเมื่อพบ URI ที่ไม่รู้จัก ใช้LoaLevel::tryFrom()เมื่อการจัดการnullเหมาะสมกว่า- หลักฐานอุปกรณ์ที่ขัดแย้งกันยังคงระมัดระวัง บริการที่พกพาทั้ง
QCWithQSCDและQCNoQSCDจับคู่เป็นSubstantialไม่ใช่High - บริการ
CA/QCที่ granted โดยไม่มีตัวบ่งชี้ใดจับคู่เป็นSubstantialพร้อมเหตุผลca_qc_no_qscd_or_unspecified— ผ่านการรับรองโดยค่าเริ่มต้น แต่ยังพิสูจน์อุปกรณ์ไม่ได้ - URI ตัวบ่งชี้ที่อยู่นอกชุดที่ติดตามไม่ส่งผลต่อการจำแนกประเภท ตัวบ่งชี้ที่ไม่รู้จักหรือในอนาคตไม่เคยยกระดับ
- การจับคู่อ่านเฉพาะสถานะบริการปัจจุบันเท่านั้น มันไม่ประเมินประวัติ
statusStartingTimeช่วงเวลา ณ จุดใดจุดหนึ่งเป็นของชั้นการตรวจสอบ - บันทึก URI ที่รองรับของ enum ไม่ใช่จำนวนเต็มจาก
rank()อันดับมีอยู่เพื่อการเปรียบเทียบเท่านั้น CertPiiGuardยุบชื่อเปล่าที่ไม่มี=ให้เหลือ[REDACTED]ทั้งหมด สตริงว่างจะผ่านตัวป้องกันทั้งหมดโดยไม่เปลี่ยนแปลง- DN แบบคั่นด้วยเครื่องหมายทับของ OpenSSL รุ่นเก่าถูกตรวจจับและปิดบังเชิงโครงสร้าง
/ภายในค่า RFC 4514 ถือเป็นเนื้อหา ไม่ใช่ตัวคั่น - แอตทริบิวต์ DN ที่ไม่ใช่ข้อมูลส่วนบุคคล (
O,OU,C,ST,L) ได้รับการเก็บรักษาไว้ ดังนั้นการให้เหตุผลเกี่ยวกับเขตอำนาจศาลจึงคงอยู่ต่อไปแม้ปิดบังแล้ว
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”- ความเป็นส่วนตัวโดยค่าเริ่มต้น ตัวสร้าง (constructor) ของตัวป้องกันมีค่าเริ่มต้นเป็น
disclosePii: falseสร้างnew CertPiiGuard(disclosePii: true)เฉพาะที่คุณมีฐานทางกฎหมายที่ถูกบันทึกไว้สำหรับการประมวลผลตัวตนของผู้ลงนามเท่านั้น สิ่งนี้ทำให้การลดข้อมูลให้น้อยที่สุดตาม GDPR Article 5(1)(c) เป็นจริงที่ขอบเขตการจัดลำดับ - การปิดบังแบบล้มเหลวปิด เมื่อส่วนประกอบ DN ไม่สามารถแยกโทเคนได้อย่างมั่นใจ ส่วนประกอบทั้งหมดจะยุบลงเหลือ
[REDACTED]การควบคุมความเป็นส่วนตัวไม่เคยล้มเหลวแบบเปิด - ผลลัพธ์แบบกำหนดผลได้ ตัวป้องกันใช้การประมวลผลสตริงล้วน — ไม่มีนาฬิกา ไม่มีการสุ่ม — ดังนั้นผลลัพธ์ที่ปิดบังจึงเสถียรระดับไบต์สำหรับอินพุตเดียวกัน ผลลัพธ์ที่เสถียรทำให้ความแตกต่างของการตรวจสอบมีความหมาย
- การปิดบังไม่ใช่การเข้ารหัส
[REDACTED]ลบค่าออกจากระเบียน หากคุณต้องการให้ตัวตนกู้คืนได้ ให้จัดเก็บแยกต่างหากภายใต้ฐานทางกฎหมายและการควบคุมการเข้าถึงของมันเอง - ขยะเข้า ขยะออก
LoaAssertionน่าเชื่อถือเพียงเท่ากับหลักฐานจากบัญชีรายชื่อที่เชื่อถือได้ที่อยู่เบื้องหลัง จัดหาและตรวจสอบลายเซ็นของบัญชีรายชื่อที่เชื่อถือได้ผ่านระบบย่อยบัญชีรายชื่อที่เชื่อถือได้ของ Enterprise ก่อนป้อนรายการให้กับการจับคู่
ความสอดคล้อง
หัวข้อที่มีชื่อว่า “ความสอดคล้อง”NextPDF Enterprise นำพฤติกรรมที่ได้รับอิทธิพลจาก Regulation (EU) No 910/2014 Article 8 (ระดับความเชื่อมั่น) และ Article 3(12) (องค์ประกอบของลายเซ็นอิเล็กทรอนิกส์ที่ผ่านการรับรอง) และจากคำศัพท์ตัวบ่งชี้บัญชีรายชื่อที่เชื่อถือได้ของ ETSI มาใช้ การรองรับไม่ใช่ความสอดคล้อง และความสอดคล้องไม่ใช่การรับรอง NextPDF ไม่ถือครองการรับรองใดและไม่มอบการรับรองใด NextPDF ไม่ใช่ผู้ให้บริการเชื่อถือได้ที่ผ่านการรับรอง ไม่ใช่หน่วยงานประเมินความสอดคล้อง และไม่ใช่หน่วยงานกำกับดูแล LoaAssertion เป็นการจำแนกประเภทเชิงซอฟต์แวร์ของหลักฐานที่เผยแพร่ มันไม่ใช่การวินิจฉัยทางกฎหมายเรื่องคุณสมบัติหรือความเชื่อมั่น และมันไม่สามารถทำให้ลายเซ็นผ่านการรับรองได้
Regulation (EU) 2024/1183 (eIDAS 2) ยังคงอ้างถึงระดับตาม Article 8 และกำหนดให้ European Digital Identity Wallets จัดหาที่ระดับความเชื่อมั่น high หน้านี้อ้างถึงสิ่งนั้นเป็นบริบทเชิงกฎระเบียบ NextPDF ไม่กล่าวอ้างความสามารถใดที่เกี่ยวข้องกับกระเป๋าเงิน
ลายเซ็นเฉพาะหนึ่งจะเป็นไปตามนโยบายเชิงโครงสร้างที่มุ่งเน้น eIDAS หรือไม่นั้นเป็นคำถามที่แยกต่างหาก ซึ่งตอบโดยโมดูลการตรวจสอบ ดู Validation
พฤติกรรมในโหมด FIPS
หัวข้อที่มีชื่อว่า “พฤติกรรมในโหมด FIPS”คลาส eIDAS LoA ไม่ทำการดำเนินการเข้ารหัสใด — ไม่มีการแฮช ไม่มีการตรวจสอบลายเซ็น ไม่มีการสุ่ม นโยบายโหมด FIPS ของ Enterprise กำหนดเงื่อนไขทางเลือกการเข้ารหัส ดังนั้นจึงไม่มีอะไรให้กำหนดเงื่อนไขในโมดูลนี้ การเปิดใช้งานโหมด FIPS ไม่เปลี่ยนแปลงการจับคู่ LoA หรือพฤติกรรมของตัวป้องกันข้อมูลส่วนบุคคล การตรวจสอบเชิงเข้ารหัสของลายเซ็นและบัญชีรายชื่อที่เชื่อถือได้อยู่ภายใต้การกำกับของโมดูลการตรวจสอบและความปลอดภัย ซึ่งเป็นที่ที่นโยบายโหมด FIPS มีผลบังคับใช้
สัญญาพฤติกรรม
หัวข้อที่มีชื่อว่า “สัญญาพฤติกรรม”LoaMapping::loaForService()เป็นแบบเบ็ดเสร็จและกำหนดผลได้TspServiceทุกตัวให้ผลLoaAssertionเมธอดไม่เคยส่งข้อยกเว้นและไม่ปรึกษานาฬิกา เครือข่าย หรือสถานะระดับโลกใด- การจำแนกประเภทมีความระมัดระวัง หลักฐานที่ขาดหาย ไม่รู้จัก หรือขัดแย้งกันจะลดระดับลง ไม่มีสิ่งใดยกระดับขึ้นยกเว้นหลักฐาน granted-
CA/QC-with-QSCD ที่ชัดเจน - รหัสเหตุผลเครื่องอ่านได้และเสถียร:
service_not_granted,service_not_qualified_ca,ca_qc_with_qscd,esig_or_eseal,qc_default,ca_qc_no_qscd_or_unspecified - ลำดับระดับคงที่:
Low<Substantial<Highเปิดเผยผ่านrank()และmeetsOrExceeds() CertPiiGuardมีค่าเริ่มต้นเป็นการปิดบังและล้มเหลวแบบปิดเมื่อมีข้อสงสัยเรื่องการแยกโทเคน เมื่อตั้งdisclosePii: trueตัวป้องกันทุกตัวคืนอินพุตของมันตามคำต่อคำ- ผลลัพธ์ของตัวป้องกันเสถียรระดับไบต์สำหรับอินพุตเดียวกัน
ทางเลือกสำรองใน Core
หัวข้อที่มีชื่อว่า “ทางเลือกสำรองใน Core”NextPDF Core ตรวจสอบลายเซ็น PDF เชิงเข้ารหัสและล้มเหลวแบบปิดเมื่อพบหลักฐานที่เสียหาย Core ไม่มีแบบจำลองบัญชีรายชื่อที่เชื่อถือได้ของสหภาพยุโรป ไม่มีคำศัพท์ LoaLevel ไม่มีการจับคู่ LoA และไม่มีตัวป้องกันข้อมูลส่วนบุคคลชั้น eIDAS สำหรับการจัดลำดับการตรวจสอบ บน Core เพียงลำพัง คุณต้องอนุมานการจำแนกประเภทความเชื่อมั่นด้วยตนเองจากข้อมูลความเชื่อถือที่คุณดูแล และใช้การปิดบังของคุณเองก่อนที่ระเบียนการตรวจสอบจะออกจากกระบวนการ
ขอบเขตการเผยแพร่
หัวข้อที่มีชื่อว่า “ขอบเขตการเผยแพร่”หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น เส้นทาง namespace ภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าตั๋วอยู่นอกขอบเขต
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- Validation — นโยบายความสอดคล้องเชิงโครงสร้าง รวมถึงความหมายของ
eidasQualified()และเกณฑ์ผ่าน/ไม่ผ่าน - Signature verification — ฝั่งตรวจสอบเชิงเข้ารหัส AdES/PAdES ที่รายงานของมันได้รับการปกป้องโดยตัวป้องกันข้อมูลส่วนบุคคล
- Security — Deep Reference — เอกสารอ้างอิงเชิงลึกของโมดูลความปลอดภัย
- Qualified signatures, explained — บทความ Insider ว่าด้วยคุณสมบัติและความเชื่อมั่น
- How a signature proves who signed — บทความ Insider ว่าด้วยความเชื่อถือฝั่งตรวจสอบ