แยกคีย์ส่วนตัวที่ปกปิดแล้วเซ็นชื่อในไดเจสต์ที่ไคลเอ็นต์ระบุ
คำขอ 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 |
(ไม่บังคับ) ความยาว Salt ที่จะใช้ หากอัลกอริทึมลายเซ็นคือ RSASSA-PSS หากอัลกอริทึมลายเซ็นไม่ใช่ RSASSA-PSS ระบบจะละเว้นฟิลด์นี้ |
reason |
สตริง JSON แบบส่งผ่านที่ให้บริบทเพิ่มเติมเกี่ยวกับการดำเนินการ JSON ที่ให้ไว้ควรทำความสะอาดก่อนแสดง ขนาดสูงสุด: 1 KB |
wrapped_private_key |
คีย์ส่วนตัวที่เข้ารหัสแบบ Base64 ขนาดสูงสุด: 8 KB รูปแบบของคีย์ส่วนตัวหรือคีย์ส่วนตัวที่รวมไว้จะขึ้นอยู่กับการใช้งาน Key Access Control List Service (KACLS) โดยบนไคลเอ็นต์และฝั่ง Gmail ระบบนี้จะถือว่าเป็น BLOB ที่ทึบแสง |
เนื้อหาการตอบกลับ
หากสำเร็จ วิธีนี้จะแสดงลายเซ็นที่เข้ารหัสฐาน 64
หากการดำเนินการล้มเหลว การตอบกลับข้อผิดพลาดที่มีโครงสร้าง
การแสดง JSON | |
---|---|
{ "signature": string } |
ช่อง | |
---|---|
signature |
ลายเซ็นที่เข้ารหัสฐาน 64 |
ตัวอย่าง
ตัวอย่างนี้แสดงตัวอย่างคำขอและการตอบกลับสำหรับ 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=="
}