สอบถามเรื่อง PHP มีวิธี add digital signature อย่างไรครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเรื่อง PHP มีวิธี add digital signature อย่างไรครับ

สอบถามเรื่อง PHP มีวิธี add digital signature อย่างไรครับ

อยากทราบวิธี add digital signature (Cert) โดยใช้ PHP ครับ



Aionclock 11-06-2020 22:48:58

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
สร้าง cert เคยใช้แต่ openssl ตามลิ้งค์ด้านล่าง แต่ถ้าจะใช้ php น่าจะต้องไปเปิดการใช้งาน openssl แล้วใช้คำสั่้ง php
ทำคำสั่ง openssl อีกที แต่ไม่เคยใช้เหมือนกัน คงต้องลองดูเอง
    ส่วนที่ว่า add digital signature ไม่ได้บอกว่าทำกับข้อมูลอะไร แต่เคยเห็น ว่าใน tcpdf มีการใช้งานอยู่ ถ้าใช้กับ tcpdf ก็
ทำตามตัวอย่างตามลิ้งค์นี้ดู digital signature certification เป็นการกำหนด ให้กับ pdf ไฟล์ 

บรรทัดที่การฝัง signature certification
 
/*
NOTES:
 - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt
 - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
 - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes
*/

// set certificate file
$certificate = 'file://data/cert/tcpdf.crt';

// set additional information
$info = array(
    'Name' => 'TCPDF',
    'Location' => 'Office',
    'Reason' => 'Testing TCPDF',
    'ContactInfo' => 'http://www.tcpdf.org',
    );

// set document signature
$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info);
 
 
บรรทัดที่กำหนดรูปหรือโลโก้ หรือตราประทับ ที่แสดงว่าเป็นเอกสารที่มีการยืนยันความถูกต้องแล้ว
 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// *** set signature appearance ***

// create content for signature (image and/or text)
$pdf->Image('images/tcpdf_signature.png', 180, 60, 15, 15, 'PNG');

// define active area for signature appearance
$pdf->setSignatureAppearance(180, 60, 15, 15);
 
 
บรรทัดที่ต้องการกำหนดใด้แสดงพื้นที่ว่างสำหรับเซ็นต์เอกสารด้วย digital signature certification
 
// *** set an empty signature appearance ***
$pdf->addEmptySignatureAppearance(180, 80, 15, 15);
 
ถ้าใช้กับ pdf จริงๆ เราสามารถใช้ adobe acrobat reader dc สร้าง  pfx certificate นามสกุล pfx
แล้วใช้คำสั่ง openssl แปลงเป็น cert ตามคำสั่งใน comment แนะนำด้านบน
 
openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes
// openssl pkcs12 -in ไฟล์ pfx -out ไฟล์ cert -nodes
 
    การกำหนด path ให้ใช้เป็น file แบบ absolute path ปรับเป็น
 
// set certificate file
$certificate = "file://{$_SERVER['DOCUMENT_ROOT']}/path/mycert.crt";


บทความแนะนำที่เกี่ยวข้อง
ประยุกต์สร้าง pdf ไฟล์ จาก tcpdf class ด้วย php รองรับภาษาไทยอ่าน 51,343
ตั้งค่า xampp ให้รองรับ SSL แบบ Self Signed Certificateอ่าน 15,099
ninenik 12-06-2020






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ