การลงชื่อรหัส Microsoft Authenticode ใน Linux ด้วย Jsign

ลงชื่อ เป็นเครื่องมือ Java แบบโอเพนซอร์สที่ไม่ขึ้นกับแพลตฟอร์มสำหรับการลงนามรหัส Microsoft Authenticode Jsign นั้นง่ายต่อการรวมเข้ากับระบบบิลด์เช่น Maven, Gradle และ Ant หรือสามารถใช้โดยตรงจากบรรทัดคำสั่ง

ในวิธีการนี้เราจะพูดถึงการใช้ ลงชื่อ จากบรรทัดคำสั่ง Linux สำหรับ การลงนามรหัส OV / IV และ การลงนามรหัส EV. เนื่องจาก Jsign ใช้ Java คุณจึงสามารถใช้กับระบบ Windows และ MacOS ได้

ติดตั้ง Jsign

ก่อนอื่นคุณจะต้องดาวน์โหลดและติดตั้ง Jsign เว็บไซต์ Jsign รวมลิงค์ไปยังแพ็คเกจ Debian และ RPM เพื่อการติดตั้งที่ง่ายดายบนระบบ Linux ยอดนิยมตลอดจนไฟล์ .jar ไฟล์

การเซ็นรหัส OV / IV

ส่วนนี้ใช้เฉพาะกับใบรับรองการลงนามรหัสการตรวจสอบความถูกต้องส่วนบุคคล (IV) และการตรวจสอบองค์กร (OV) ที่สั่งซื้อก่อนวันที่ 1 มิถุนายน 2023 เริ่ม 1 มิถุนายน 2023ใบรับรองการลงนามรหัส IV และ OV ของ SSL.com ได้เริ่มออกให้ใช้โทเค็น USB มาตรฐานการประมวลผลข้อมูลของรัฐบาลกลาง 140-2 (FIPS 140-2) หรือผ่านบริการลงนามรหัสบนคลาวด์ eSigner ของเรา 

สำหรับการลงนามโค้ด OV/IV คุณสามารถใช้ใบรับรองที่จัดเก็บไว้ในที่เก็บคีย์ Java หรือไฟล์ PKCS#12 (PFX) ในตัวอย่างโค้ดทั้งหมดด้านล่าง ให้แทนที่ค่าที่แสดงใน ALL-CAPS ด้วยค่าจริงของคุณ

  1. ขั้นแรกให้ใช้ไฟล์ keytool คำสั่งเพื่อรับไฟล์ alias มูลค่าที่จะใช้เมื่อเซ็นชื่อ:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD - ประเภทร้านค้า
  2. ตรวจสอบผลลัพธ์ของไฟล์ keytool คำสั่งสำหรับบรรทัดที่ขึ้นต้นด้วย Alias name:.
    ประเภทที่เก็บคีย์: PKCS12 ผู้ให้บริการที่เก็บคีย์: SUN ที่เก็บคีย์ของคุณมี 1 รายการชื่อนามแฝง: 1 วันที่สร้าง: 18 ม.ค. 2021 ประเภทรายการ: PrivateKeyEntry ความยาวสายโซ่ใบรับรอง: 4 ...

    ในตัวอย่างข้างต้น Alias name is 1.

  3. ใช้คำสั่งดังต่อไปนี้เพื่อลงนามและประทับเวลาไฟล์:
    • jsign คำสั่งที่ติดตั้งทั้งระบบ:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME -- ประเภทร้านค้า PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • กับ Jsigner .jar ไฟล์:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- ลงชื่อ
  4. หากคำสั่งของคุณสำเร็จคุณจะเห็นผลลัพธ์ดังต่อไปนี้:
    การเพิ่มลายเซ็น Authenticode ไปยัง example.exe
หมายเหตุ ตามค่าเริ่มต้น SSL.com รองรับการประทับเวลาจากคีย์ ECDSA

หากคุณพบข้อผิดพลาดนี้: The timestamp certificate does not meet a minimum public key length requirementคุณควรติดต่อผู้จำหน่ายซอฟต์แวร์ของคุณเพื่ออนุญาตการประทับเวลาจากคีย์ ECDSA

หากผู้จำหน่ายซอฟต์แวร์ของคุณไม่สามารถอนุญาตให้ใช้ตำแหน่งข้อมูลปกติได้ คุณสามารถใช้ตำแหน่งข้อมูลเดิมนี้ได้ http://ts.ssl.com/legacy เพื่อรับการประทับเวลาจาก RSA Timestamping Unit

การลงนามรหัส EV

คุณยังสามารถใช้ Jsign กับใบรับรองการลงนามรหัส EV ตัวอย่างที่นี่ใช้ SSL.com ใบรับรองการลงนามรหัส EV ติดตั้งบนไฟล์ โทเค็น USB ของคีย์ความปลอดภัยที่ตรวจสอบแล้ว FIPS 140-2.

  1. ขั้นแรกตรวจสอบให้แน่ใจว่า OpenSC ติดตั้งบนระบบของคุณเพื่อให้สามารถสื่อสารกับโทเค็นของคุณผ่าน PKCS # 11 API บน Debian-based distros เช่น Ubuntu คุณสามารถติดตั้ง OpenSC ด้วย apt:
    sudo apt ติดตั้ง opensc
  2. จากนั้นสร้างไฟล์กำหนดค่า ชื่อของไฟล์เป็นไปตามอำเภอใจ แต่สำหรับตัวอย่างคำสั่งด้านล่างเราจะใช้ eToken.cfg. โปรดทราบว่าเส้นทางไปยัง opensc-pkcs11.so อาจแตกต่างกันไปในการติดตั้ง OpenSC ของคุณดังนั้นโปรดตรวจสอบก่อนสร้างไฟล์กำหนดค่า
    name = OpenSC-PKCS11 description = SunPKCS11 ผ่านไลบรารี OpenSC = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. ใช้ keytool คำสั่งเพื่อรับไฟล์ alias มูลค่าที่จะใช้เมื่อเซ็นชื่อ:
    keytool -list -v -keystore ไม่มี -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. ตรวจสอบผลลัพธ์ของไฟล์ keytool คำสั่งสำหรับบรรทัดที่ขึ้นต้นด้วย Alias name:. หากโทเค็นของคุณมีใบรับรองหลายรายการให้ตรวจสอบวันที่ที่มีผลบังคับใช้และผู้ออกใบรับรองในผลลัพธ์เทียบกับใบรับรองของคุณ โปรดทราบว่าใบรับรองการลงนามรหัส EV ที่ออกบน YubiKey จาก SSL.com ควรมีชื่อแทนเป็น Certificate for PIV Authentication.
    ชื่อนามแฝง: Certificate for PIV Authentication Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate [1]: Owner: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = เนวาดา, OID.20081614243 = องค์กรเอกชน, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = US ผู้ออก: CN = SSL.com EV Code Signing Intermediate CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Serial number: 93f57a3bac6570c781580f63172e17 ใช้ได้ตั้งแต่: ศุกร์ 12 เมษายน 46:04:2020 EDT 17 ถึง: เสาร์เมษายน 12 46:04:2021 EDT XNUMX
  5. ใช้คำสั่งดังต่อไปนี้เพื่อลงนามและประทับเวลาไฟล์:
    • jsign คำสั่งที่ติดตั้งทั้งระบบ:
      jsign --keystore eToken.cfg --alias "Certificate for PIV Authentication" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • กับ Jsigner .jar ไฟล์:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificate for PIV Authentication" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE -เพื่อเข้าสู่ระบบ
  6. หากคำสั่งของคุณสำเร็จคุณจะเห็นผลลัพธ์ดังต่อไปนี้:
    การเพิ่มลายเซ็น Authenticode ไปยัง example.exe
หมายเหตุ ตามค่าเริ่มต้น SSL.com รองรับการประทับเวลาจากคีย์ ECDSA

หากคุณพบข้อผิดพลาดนี้: The timestamp certificate does not meet a minimum public key length requirementคุณควรติดต่อผู้จำหน่ายซอฟต์แวร์ของคุณเพื่ออนุญาตการประทับเวลาจากคีย์ ECDSA

หากผู้จำหน่ายซอฟต์แวร์ของคุณไม่สามารถอนุญาตให้ใช้ตำแหน่งข้อมูลปกติได้ คุณสามารถใช้ตำแหน่งข้อมูลเดิมนี้ได้ http://ts.ssl.com/legacy เพื่อรับการประทับเวลาจาก RSA Timestamping Unit

ตรวจสอบลายเซ็นดิจิทัล

  1. คุณสามารถตรวจสอบว่าลายเซ็นดิจิทัลของคุณถูกต้องโดยดูรายละเอียดลายเซ็นใน Windows
    ลายเซ็นดิจิทัลก็โอเค
  2. คุณยังสามารถใช้ เครื่องมือเข้าสู่ระบบ ใน Windows เพื่อตรวจสอบลายเซ็นดิจิทัล
    signtool.exe ตรวจสอบ / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' ไฟล์: C: \ Users \ Aaron Russell \ Desktop \ example.exe Index Algorithm Timestamp =========== ============================= 0 sha256 RFC3161 ตรวจสอบเรียบร้อยแล้ว: C: \ Users \ Aaron Russell \ Desktop \ example.exe

สมัครรับจดหมายข่าวของ SSL.com

อย่าพลาดบทความและการปรับปรุงใหม่จาก SSL.com

รับทราบข้อมูลและปลอดภัย

SSL.com เป็นผู้นำระดับโลกในด้านความปลอดภัยทางไซเบอร์ PKI และใบรับรองดิจิทัล ลงทะเบียนเพื่อรับข่าวสารอุตสาหกรรม เคล็ดลับ และประกาศผลิตภัณฑ์ล่าสุดจาก SSL.com.

เราชอบความคิดเห็นของคุณ

ทำแบบสำรวจของเราและแจ้งให้เราทราบความคิดเห็นของคุณเกี่ยวกับการซื้อครั้งล่าสุดของคุณ