บทความนี้อธิบายวิธีการเซ็นชื่อแบบดิจิทัลบน แมโครโปรเจ็กต์ บน Windows โดยใช้ ใบรับรอง ถ้าคุณยังไม่มีใบรับรองดิจิทัล คุณจะต้องรับใบรับรอง
เคล็ดลับ: เมื่อต้องการใช้หรือทดสอบโครงการแมโครบนคอมพิวเตอร์ของคุณเอง คุณสามารถสร้างใบรับรองแบบเซ็นชื่อด้วยตนเองโดยใช้เครื่องมือ Selfcert.exe คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่ด้านล่าง
รับใบรับรองดิจิทัล
คุณสามารถขอรับใบรับรองดิจิทัลได้จากผู้ให้บริการออกใบรับรอง (CA) เชิงพาณิชย์ จากผู้ดูแลระบบความปลอดภัยภายในหรือผู้เชี่ยวชาญด้านเทคโนโลยีสารสนเทศ (IT) ของคุณ
เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับผู้ให้บริการออกใบรับรองที่ให้บริการสําหรับผลิตภัณฑ์ของ Microsoft ให้ดูรายการสมาชิกโปรแกรมใบรับรองหลักของ Microsoft
เนื่องจากใบรับรองดิจิทัลที่คุณสร้างไม่ได้ออกให้โดยผู้ให้บริการออกใบรับรองที่น่าเชื่อถืออย่างเป็นทางการ Microsoft Office เชื่อถือใบรับรองที่เซ็นชื่อด้วยตนเองเฉพาะบนคอมพิวเตอร์ที่มีใบรับรองการเซ็นชื่อด้วยตนเองที่เพิ่มลงใน โฟลเดอร์ ใบรับรองหลักที่เชื่อถือได้ ในใบรับรอง - ที่เก็บผู้ใช้ปัจจุบันเท่านั้น ซึ่งทําให้เหมาะสําหรับการทดสอบหรือใช้บนเครื่องของคุณเองหรือเครื่องจํานวนน้อยมากที่คุณจัดการ แต่ไม่ดีมากสําหรับการแจกจ่ายแมโครให้กับผู้อื่น
สร้างใบรับรองแบบลงนามด้วยตนเอง
ดูใบรับรองในที่เก็บใบรับรองส่วนบุคคล
-
เปิด Microsoft Edge
-
ใส่ edge://settings/privacy ในแถบที่อยู่
-
เลื่อนลงไปที่ส่วน ความปลอดภัย แล้วเลือก จัดการใบรับรอง
เซ็นชื่อแบบดิจิทัลในโครงการแมโคร VBA ใน Excel, PowerPoint, Publisher, Visio, Outlook หรือ Word
-
เปิดไฟล์ที่มีโครงการแมโครที่คุณต้องการเซ็นชื่อ
-
บนแท็บ นักพัฒนา ในกลุ่ม โค้ด ให้คลิก Visual Basic
หมายเหตุ: ถ้าแท็บ นักพัฒนา ไม่พร้อมใช้งาน: คลิกแท็บ ไฟล์ คลิก ตัวเลือก คลิก กำหนด Ribbon เอง ในรายการ กําหนด Ribbon เอง ให้คลิก นักพัฒนา แล้วคลิก ตกลง
-
ใน Visual Basic บนเมนู เครื่องมือ ให้คลิก ลายเซ็นดิจิทัล
-
กล่องโต้ตอบ ลายเซ็นดิจิทัล จะปรากฏขึ้น
-
เลือกใบรับรอง แล้วคลิก ตกลง
หมายเหตุ: ถ้าคุณยังไม่ได้เลือกใบรับรองดิจิทัลหรือต้องการใช้ใบรับรองอื่น ให้คลิก เลือก เลือกใบรับรอง แล้วคลิก ตกลง
เพิ่มตราประทับเวลาลงในลายเซ็นของคุณ
เมื่อผู้ใช้เรียกใช้แมโคร VBA ของคุณ Office จะตรวจสอบลายเซ็นและใบรับรองที่เซ็นชื่อด้วย การเพิ่มตราประทับเวลาให้กับลายเซ็นของคุณหมายความว่า แมโครของคุณจะยังคงได้รับการปฏิบัติเหมือนการเซ็นชื่อ แม้ว่าใบรับรองของคุณจะหมดอายุแล้วก็ตาม ตราบใดที่ใบรับรองยังไม่ถูกเพิกถอน สิ่งนี้สามารถลดการหยุดชะงักให้กับผู้ใช้
ใบรับรองที่หมดอายุแล้วเท่านั้นที่ยังคงสามารถใช้เพื่อตรวจสอบความถูกต้องของรหัสได้ แต่ไม่สามารถใช้เพื่อเซ็นชื่อรหัสใหม่ได้
เมื่อต้องการเพิ่มการประทับเวลา คุณจําเป็นต้องเพิ่มคีย์สามคีย์ลงในรีจิสทรีของคุณ
ข้อควรระวัง: การแก้ไขรีจิสทรีอย่างไม่ถูกต้องอาจทำให้ระบบของคุณเสียหายอย่างหนัก ก่อนที่คุณจะทำการเปลี่ยนแปลงลงในรีจิสทรี เราขอแนะนำให้คุณสำรองข้อมูลที่มีค่าในคอมพิวเตอร์ก่อน
แป้น |
ชนิด |
คำอธิบาย |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
URL ของเซิร์ฟเวอร์การประทับเวลาที่คุณต้องการ (จําเป็น) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
จํานวนครั้งที่ Visual Basic Editor จะพยายามเชื่อมต่อกับเซิร์ฟเวอร์การประทับเวลาก่อนที่จะล้มเหลว (ทําหรือไม่ก็ได้ - ถ้าคุณไม่ได้ตั้งค่า Visual Basic Editor นี้จะพยายามติดต่อเซิร์ฟเวอร์เพียงครั้งเดียวเท่านั้น) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
จํานวนวินาที (เป็นมิลลิวินาที) ที่ Visual Basic Editor จะรอระหว่างการลองเชื่อมต่อกับเซิร์ฟเวอร์การประทับเวลาอีกครั้ง (ทําหรือไม่ก็ได้ - หากคุณไม่ได้ตั้งค่านี้ จะไม่มีการหน่วงเวลาใดๆ ระหว่างการลองใหม่ใดๆ) |
เมื่อคุณเพิ่มรายการ TimeStampURL ที่ใช้งานได้แล้ว Visual Basic Editor จะเพิ่มการประทับเวลาโดยอัตโนมัติเมื่อใดก็ตามที่คุณเซ็นชื่อแมโครแบบดิจิทัล
หมายเหตุเพิ่มเติม
-
ขอแนะนําให้คุณเซ็นชื่อแมโครหลังจากทดสอบโซลูชันของคุณและพร้อมสําหรับการแจกจ่ายแล้วเท่านั้น เมื่อมีการเปลี่ยนแปลงโค้ดในโครงการแมโครที่เซ็นชื่อแล้ว ลายเซ็นดิจิทัลของแมโครจะถูกเอาออก อย่างไรก็ตาม ถ้าคุณมีใบรับรองดิจิทัลที่ถูกต้องที่เคยใช้ในการเซ็นชื่อโครงการบนคอมพิวเตอร์ของคุณ
-
วิธีหนึ่งในการป้องกันไม่ให้ผู้ใช้เปลี่ยนแปลงโครงการแมโครของคุณโดยไม่ได้ตั้งใจและทําให้ลายเซ็นของคุณเป็นโมฆาตคือการล็อกโครงการแมโครก่อนที่จะนําลายเซ็นไปใช้ ลายเซ็นดิจิทัลของคุณช่วยให้มั่นใจว่าโครงการไม่ได้ถูกเปลี่ยนแปลงตั้งแต่คุณเซ็นชื่อ แต่ไม่ได้พิสูจน์ว่าคุณเขียนโครงการ แม้ว่าคุณจะล็อกโครงการแมโครของคุณไว้ แต่ผู้ใช้รายอื่นอาจยังสามารถแทนที่ลายเซ็นของคุณด้วยลายเซ็นอื่นได้ ผู้ดูแลระบบขององค์กรยังสามารถเซ็นชื่อใหม่ในเทมเพลตและ Add-in เพื่อให้แน่ใจว่ามีเพียงเนื้อหาที่ได้รับการอนุมัติเท่านั้นที่จะทํางานบนคอมพิวเตอร์ของบริษัท
-
ถ้าคุณสร้าง Add-in ที่เพิ่มโค้ดให้กับโครงการแมโคร โค้ดของคุณควรกำหนดว่าโครงการนั้นมีการเซ็นชื่อแบบดิจิทัลหรือไม่ และควรแจ้งให้ผู้ใช้ทราบถึงผลที่ตามมาของการเปลี่ยนแปลงโครงการที่เซ็นชื่อก่อนที่พวกเขาจะดำเนินการต่อ
-
ผู้ใช้ที่ใช้ใบรับรองเชิงพาณิชย์อาจพบบล็อกเนื่องจากข้อจํากัดของอัลกอริทึมแฮชที่สนับสนุนในการลงชื่อเข้าใช้ คุณสามารถเพิ่มรีจิสทรีคีย์ DWORD V1HashEnhanced เพื่อเลือกอัลกอริทึมแฮชอื่น ภายใต้ HKCU\SOFTWARE\Microsoft\VBA\Security ด้วยกฎอัลกอริทึมค่า (1 ถึง SHA1, 2 ถึง SHA256, 3 ถึง SHA384, 4 ถึง SHA512 และอื่นๆ ไปยัง MD5) การตั้งค่านี้จะพร้อมใช้งานในแชนเนล CC เวอร์ชันล่าสุด
เรียนรู้เพิ่มเติม
เปิดใช้งานหรือปิดใช้งานแมโครในไฟล์ Microsoft 365
หมายเหตุ: บทความนี้สร้างขึ้นโดยบุคคลที่มีความช่วยเหลือของปัญญาประดิษฐ์ (AI)