ถอดรหัสคีย์ส่วนตัวที่รวมไว้ แล้วลงนามในข้อมูลสรุปที่ได้จากไคลเอ็นต์
คำขอ HTTP
POST https://BASE_URL/privatekeysign
แทนที่ BASE_URL
ด้วย URL พื้นฐาน
พารามิเตอร์เส้นทาง
ไม่มี
เนื้อหาของคำขอ
เนื้อความของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON | |
---|---|
{ "authentication": string, "authorization": string, "algorithm": string, "digest": string, "rsa_pss_salt_length": integer, "reason": string, "wrapped_private_key": string } |
ช่อง | |
---|---|
authentication |
JWT ที่ออกโดยผู้ให้บริการข้อมูลประจำตัว (IdP) ซึ่งระบุตัวตนของผู้ใช้ ดูโทเค็นการตรวจสอบสิทธิ์ |
authorization |
JWT ที่ยืนยันว่าผู้ใช้ได้รับอนุญาตให้แกะกล่องคีย์สำหรับ |
algorithm |
อัลกอริทึมที่ใช้ในการเข้ารหัสคีย์การเข้ารหัสข้อมูล (DEK) ในการเข้ารหัสแบบซองจดหมาย |
digest |
ข้อมูลสรุปข้อความที่เข้ารหัส Base64 ข้อมูลสรุปของ |
rsa_pss_salt_length |
(ไม่บังคับ) ความยาวของเกลือที่จะใช้ หากอัลกอริทึมลายเซ็นคือ RSASSA-PSS หากอัลกอริทึมลายเซ็นไม่ใช่ RSASSA-PSS ระบบจะไม่สนใจฟิลด์นี้ |
reason |
สตริง JSON ที่ส่งผ่านซึ่งให้บริบทเพิ่มเติมเกี่ยวกับการดําเนินการ JSON ที่ระบุควรได้รับการทำให้ปลอดภัยก่อนแสดง ขนาดสูงสุด: 1 KB |
wrapped_private_key |
คีย์ส่วนตัวที่รวมไว้ซึ่งเข้ารหัส Base64 ขนาดสูงสุด: 8 KB รูปแบบของคีย์ส่วนตัวหรือคีย์ส่วนตัวที่รวมไว้ขึ้นอยู่กับการใช้งานบริการรายการควบคุมการเข้าถึงคีย์ (KACLS) ในฝั่งไคลเอ็นต์และ Gmail ระบบจะถือว่าข้อมูลนี้เป็น Blob ทึบ |
เนื้อหาการตอบกลับ
หากสําเร็จ วิธีการนี้จะแสดงลายเซ็นที่เข้ารหัสฐาน 64
หากการดำเนินการไม่สำเร็จ ระบบจะแสดงการตอบกลับข้อผิดพลาดที่มีโครงสร้าง
การแสดง JSON | |
---|---|
{ "signature": string } |
ช่อง | |
---|---|
signature |
ลายเซ็นที่เข้ารหัส Base64 |
ตัวอย่าง
ตัวอย่างนี้แสดงคำขอและการตอบกลับตัวอย่างสำหรับprivatekeysign
วิธีนี้
ส่งคำขอ
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
"authorization": "eyJhbGciOi...",
"authentication": "eyJhbGciOi...",
"algorithm": "SHA256withRSA",
"reason": "sign"
}
คำตอบ
{
"signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}