\

Facebook


วันอาทิตย์ที่ 23 มิถุนายน พ.ศ. 2562

วิธี Gen Certificate ด้วย OpenSSL


เริ่มต้มด้วยไฟล์ ตั้งต้นครับ มักเจอไฟล์นามสกุล .pem ซึ่งภายในจะบรรจุทั้ง RSA Private Key กุณแจสำคัญที่เอาไว้ถอดรหัส เเละ Certificate / Public Key  ที่เราสามารถแจกจ่ายให้ผู้อื่นได้ 

ตัวอย่างการ gen ไฟล์ pem

openssl req -config="C:\openssl\share\openssl.cnf" -newkey rsa:2048 -new -nodes -x509 -days 3650  -keyout key.pem -out cert.pem 

ซึ่งเราต้องชี้ไฟล์ openssl.cnf ให้ถูก path ด้วยครับ 

หลังจากนั้น ผมใช้ Windows เป็นหลักซึ่งต้องเขียน .Net สำหรับอ่านไฟล์ จึงต้องใช้ .pfx เป็นหลัก 

ตัวอย่างการ gen ไฟล์ pfx

openssl pkcs12 -export -inkey demo2.key  -in demo2.pem -name my_name -out demo2.pfx

หรือกรณีที่มี .crt อยู่เเล้ว 

openssl pkcs12 -export -inkey demo2.key -in demo2.crt -out demo2.pfx 

หรือ กรณีที่มี .cer

openssl pkcs12 -export -in certificate.cer -inkey private.key -out PKCS7.pfx -certfile bundle.cer


EXT: 

ถ้ามี .pem เเล้วต้องการ gen .key

openssl rsa -outform der -in demo2.pem -out demo2.key

วันอาทิตย์ที่ 10 กุมภาพันธ์ พ.ศ. 2562

ตัวอย่าง header ที่ใช้ include ในภาษา c



Header ของภาษา C คืออะไร 

คือไลบราลี่ ที่ประกาศบริเวณหัวของไฟล์ การเริ่มเขียน logical function ต่างๆ เพื่อให้สามารถใช้งานฟังชั่นที่อยู่ภายใต้ header เหล่านั้นได้ โดยคำสั่ง include <ไฟล์.h>

แต่เดิม มาตราฐานของไลบราลี่ที่กำหนดใน ISO/IEC 9899:1990 (C89, C90) มีเพียง 15 lib เท่านั้น ได้แก่

<span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><assert.h>  <limits.h>  <signal.h>  <stdlib.h>
<ctype.h>   <locale.h>  <stdarg.h>  <string.h>
<errno.h>   <math.h>    <stddef.h>  <time.h>
<float.h>   <setjmp.h>  <stdio.h></span>
เเต่ก็มีการพัฒนา เพิ่มเติมชุดคำสั่ง จนปัจจุบันมี lib ที่ใช้จัดการเฉพาะมากมาย

ตัวอย่าง HEADER ที่สามารถใช้งานได้

ชื่อ Headerค่วามหมาย
<assert.h>บรรจุคำสั่ง macro ต่างๆ ใช้ในการช่วยตรวจสอบความผิดพลาดของการทำงาน หรือใช้ในการหาจุดบกพร่อง
<complex.h>กลุ่มคำสั่งที่ใช้จัดการ จำนวนเชิงซ้อน
<ctype.h>ชุดของฟังก์ชันที่ใช้เพื่อจำแนกอักขระตามชนิดหรือแปลงระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กในลักษณะที่เป็นอิสระจากชุดอักขระที่ใช้ (โดยทั่วไปคือ ASCII หรือหนึ่งในส่วนขยายแม้ว่าจะรู้จักการใช้งานโดยใช้ EBCDIC)
<errno.h>สำหรับการทดสอบรหัสข้อผิดพลาดที่เกิดขึ้น
<fenv.h>ชุดของฟังก์ชั่นสำหรับการควบคุมจุดทศนิยม
<float.h>ค่าคงที่ของแมโครเพื่อกำหนดคุณสมบัติเฉพาะของการนำไปใช้งานของเลขทศนิยม
<inttypes.h>กำหนดจำนวนเต็มประเภทความกว้างคงที่
<iso646.h>มาโครชุดคำสั่งมาตรฐานที่ใช้รูปแบบอื่น สำหรับการเขียนโปรแกรมในชุดอักขระ ISO 646
<limits.h>แมโครเพื่อระบุคุณสมบัติเฉพาะการนำไปใช้งานของชนิดจำนวนเต็ม
<locale.h>ฟังชั่นเกี่ยวกับ สถานที่/ตำแหน่งของท้องถิ่นที่เรียกใช้โปรแกรม
<math.h>ฟังก์ชันทางคณิตศาสตร์ทั่วไป
<setjmp.h>ฟังชั่น setjmp และ longjmp ซึ่งใช้สำหรับการเรียกใช้งาน เพื่อกระโดดข้ามบรรทัดไปทำงานจุดอื่น
<signal.h>ฟังก์ชั่นการจัดการสัญญาณ
<stdalign.h>สำหรับการสอบถามและระบุการจัดตำแหน่งของ object
<stdarg.h>สำหรับการเข้าถึงจำนวนตัวแปรต่าง ๆ ที่ส่งผ่านไปยังฟังก์ชัน
<stdatomic.h>การทำงานส่วนงานย่อย ในข้อมูลที่แชร์ระหว่างเธรด
<stdbool.h>กำหนดประเภทข้อมูลบูลีน
<stddef.h>กำหนดประเภทและมาโครที่มีประโยชน์หลายชนิด
<stdint.h>กำหนดจำนวนเต็มประเภทความกว้างคงที่
<stdio.h>กำหนดฟังก์ชั่นอินพุตและเอาต์พุตหลัก
<stdlib.h>กำหนดฟังก์ชั่นการแปลงตัวเลขฟังก์ชันการสร้างตัวเลขสุ่มหลอกการจัดสรรหน่วยความจำฟังก์ชั่นการควบคุมกระบวนการ
<stdnoreturn.h>สำหรับการระบุฟังก์ชั่นที่ไม่ส่งคืน
<string.h>กำหนดฟังก์ชั่นการจัดการสตริง
<tgmath.h>กำหนดฟังก์ชันทางคณิตศาสตร์ชนิดทั่วไป
<threads.h>กำหนดฟังก์ชั่นสำหรับการจัดการหลายเธรด, mutexes และตัวแปรที่มีเงื่อนไข
<time.h>ฟังก์ชั่นการจัดการวันที่และเวลา
<uchar.h>ฟังก์ชั่นสำหรับจัดการกับอักขระ Unicode
<wchar.h>กำหนดฟังก์ชั่นจัดการขนาดอักษร
<wctype.h>ฟังก์ชันที่ใช้ในการจำแนกอักขระแบบกว้างตามประเภทหรือเพื่อแปลงระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก
ที่มา
https://stackoverflow.com/questions/2027991/list-of-standard-header-files-in-c-and-c
https://en.wikipedia.org/wiki/C_standard_library

May be like this posts

  • ไม่แปลกใจเลยกับเว็บรัฐบาล SQL Injection กับกรมสรรพกร
    11/01/2017 - 0 Comments
    แค่เข้าไปค้นหาโรงเรียนที่อยู่ในรายชื่อบริจาคแล้วได้สิทธิลดหย่อน…
  • 26/04/2013 - 0 Comments
    เรื่องของ Delegate ในภาษา C# เรื่องนี้ ไม่เคยเจอเลยในตอนเรียน แต่มันก็ไม่ใช่ศาสตร์ขั้นสูงอะไรเลย…
  • PHP Simple HTML DOM Parser API
    23/02/2015 - 0 Comments
    รวบรวม API ของ Simple HTML DOM เอาไว้ครับ สำหรับ link เต็มๆของหน้าหลักอยู่ที่นี้…
  • VirtualBox พัง fail to create new session
    19/08/2014 - 0 Comments
    ช่วงนี้มีแต่อะไรพังๆ รู้สึกเหมือนจับอะไรเป็นอดใช้ซะหมด ล่าสุดอยู่ๆ Virtual Box ที่รัน Windows 7 ได้เรื่อยมา…
  • [SVN] commit failed 405 method not allowed บ่นๆ
    19/08/2014 - 0 Comments
    บทความนี้ขอบ่น ฮ่าๆ ผมได้รับมอบหมายงานนั้นเเหละครับ วิธีส่งงานคือ commit ผ่าน source control ด้วย TortoiseSVN…
  • วิธีแก้ Couldn't Mount File
    20/04/2015 - 0 Comments
    สำหรับไฟล์ประเภท iso บน Windows 8.1 สามารถ mount หรือจำลอง disk ตัวนั้นได้เป็นไดฟ์ตัวใหม่…
  • วิธีเพิ่ม Domain บน Google Cloud จาก Namecheap.com
    26/05/2017 - 0 Comments
    หนังจากสร้าง website บน App engine ถึงเวลาเผยแพร่เว็บไซด์ให้คนอื่นเข้าสู่เว็บซึ่ง GCloud…