มันจะมีประโยชน์มากกว่าที่จะอธิบายว่าทำไมคุณถึงอยากทำอะไรสักอย่างไม่ใช่แค่สิ่งที่คุณต้องการทำ ฉันคาดเดาว่าคุณกำลังพยายามใช้คีย์ PGP ของคุณด้วยการเข้ารหัสหรือลงชื่ออีเมล S / MIME ซึ่งไม่สามารถทำได้จริง ๆ
เพื่อตอบคำถามไม่ใช่ GPG และ GPGSM ใช้รูปแบบและโปรโตคอลที่แตกต่างกันซึ่งเป็นเหตุผลว่าทำไมพวกเขาจึงใช้งานเป็นเครื่องมือแยกต่างหากตั้งแต่แรก GPG เป็นการใช้งานของ OpenPGP ในขณะที่ GPGSM ทำงานร่วมกับ X.509 (ส่วนใหญ่เป็น S / MIME)
ในขณะที่ทั้งคู่ใช้อัลกอริธึมเข้ารหัสลับเดียวกันและในทางทฤษฎีสามารถใช้วัสดุสำคัญเดียวกัน (เช่นพารามิเตอร์ RSA ที่เหมือนกัน) นั่นคือสิ่งที่ความคล้ายคลึงสิ้นสุดลง - คุณไม่สามารถแปลใบรับรองผู้ใช้ OpenPGP เป็นใบรับรอง X.509 โดยตรงดังนั้นคุณจึงไม่สามารถส่งออก ในรูปแบบ PKCS # 12 เช่นกัน
(gpg-agent มีความสามารถในการใช้คีย์ OpenPGP สำหรับการตรวจสอบความถูกต้องของ SSH แต่นั่นเป็นเพราะรูปแบบคีย์ SSH นั้นไม่ได้แนบข้อมูลเมตาดังนั้น "การแปลง" จึงเป็นเพียงการแยกพารามิเตอร์ RSA ในทางตรงกันข้ามใบรับรอง X.509 มี เมตาดาต้าที่เป็นชื่อเรื่องที่ใช้ไวยากรณ์ที่แตกต่างจาก OpenPGP; ชื่อ บริษัท ผู้ออกหลักทรัพย์ซึ่ง OpenPGP ไม่ได้ (อยู่บนพื้นฐานของเว็บของความไว้วางใจ) และการใช้งานที่สำคัญ (ซึ่งเป็นเรื่องยุ่งยากเนื่องจากส่วนใหญ่การใช้งาน OpenPGP ใช้สองปุ่มแยกต่างหากภายในเดียว 'ใบรับรอง' หนึ่งรายการสำหรับการเซ็นชื่อและอีกอันสำหรับเข้ารหัส))