\

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 เท่านั้น ได้แก่

<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>
เเต่ก็มีการพัฒนา เพิ่มเติมชุดคำสั่ง จนปัจจุบันมี 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