-- Create an ACL for JDWP debugging (if not exists)
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'jdwp_acl.xml',
description => 'ACL for JDWP debugging',
principal => 'xxx', -- Replace with your actual schema/user
is_grant => TRUE,
privilege => 'jdwp'
);-
สร้าง docker volume เพื่อเก็บข้อมูล database โดยตั้งชื่อ acfs-data
docker volume create acfs-data
-
สร้าง docker container โดยให้รันแบบ background (daemon process) โดยใช้ image ดังนี้
docker.geniustree.io/dev/alro-acfs-certificateสำหรับเครื่องทดสอบdocker.geniustree.io/prod/alro-acfs-certificateสำหรับเครื่อง production--name alro-acfsชื่อ container alro-acfs
| #include <stdio.h> | |
| int main(int argc, char **argv) { | |
| for (int i = 1; i < argc; i++) { | |
| printf("%s\n", argv[i]); | |
| } | |
| return 0; | |
| } |
2.1 การติดตั้ง JAVA version 11
2.1.1. download จาก link นี้ https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz
2.1.2. copy file JDK ไปยังเครื่อง ต่างๆ - scp OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz [email protected] โดยที่ x.x คือ ip เครื่องทั้ง 4 เครื่อง
2.1.3 remote เข้าไปยังเครื่องทั้ง 4 เครื่อง แล้วรันคำสั่งสำหรับทุกเครื่อง
- tar zxvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz -C /opt
2.1.4 ทดลองรันคำสั่ง /opt/jdk-11.0.14.1+1/bin/java -version เพื่อเช็คเวอร์ชั่น จะแสดงผลลัพธ์ดังนี้
ขั้นตอนนี้คือการติดตั้งไลบรารีเพื่อให้ Linux สามารถเชื่อมต่อกับเครื่องอ่านได้ (ลีนุกซ์บางรุ่นอาจจะติดตั้งไว้แล้ว ก็สามารถข้ามได้)
-
กรณี Ubuntu,Debian
- ติดตั้ง lib/tools ที่จำเป็น ด้วย
sudo apt-get install --reinstall pcscd pcsc-tools libpcsclite1 libpcsclite-dev libpcsclite1 libccid - เมื่อติดตั้งเสร็จ ให้ทดสอบว่า smartcard ทำงวานหรือไม่ ด้วยคำสั่ง
systemctl status pcscdจะต้อง Active หากต้องการเช็คว่าเชื่อมต่อเครื่องอ่านได้หรือไม่ ให้เสียบเครื่องอ่านและใช้คำสั่งpcsc_scanจะแสดงรายการเครื่องอ่านที่เสียบอยู่
- ติดตั้ง lib/tools ที่จำเป็น ด้วย
-
กรณี Fedora,CentOS,RedHat
- ติดตั้ง lib/tools ที่จำเป็น ด้วย
sudo yum -y install pcsc-tools - เมื่อติดตั้งเสร็จ ให้ทดสอบว่า smartcard ทำงวานหรือไม่ ด้วยคำสั่ง
systemctl status pcscdจะต้อง Active หากต้องการเช็คว่าเชื่อมต่อเครื่องอ่านได้หรือไม่ ให้เสียบเครื่องอ่านและใช้คำสั่งpcsc_scanจะแสดงรายการเครื่องอ่านที่เสียบอยู่
- ติดตั้ง lib/tools ที่จำเป็น ด้วย
- app (OPS1) 172.24.1.26
- app (OPS2) 172.24.1.27
- DB 172.24.4.22
- copy file โดย
scp key_store_file [email protected]:~โดยที่ key_store_file คือไฟล์ keystore .p12 , .jks ,.pfx- ตัวอย่างของในกรณีปี 2565 นี้คือ ไฟล์ SSL/pfx_for_iis_or_hardware/PFXCertificate.pfx ดังนั้น จึงใช้คำสั่ง
scp SSL/pfx_for_iis_or_hardware/PFXCertificate.pfx [email protected]:~ซึ่งคือการ copy file PFXCertificate.pfx ที่เครื่อง local ไปยังเครื่องปลายทาง ที่ path /home/ops/
- ตัวอย่างของในกรณีปี 2565 นี้คือ ไฟล์ SSL/pfx_for_iis_or_hardware/PFXCertificate.pfx ดังนั้น จึงใช้คำสั่ง
- remote เข้าไปที่เครื่อง 172.24.1.26 ด้วยคำสั่ง
ssh [email protected](ด้วย user ops) - เปลี่ยนชื่อไฟล์จาก PFXCertificate.pfx เป็น ssl_keystore.pfx ด้วยคำสั่ง
mv PFXCertificate.pfx ssl_keystore.pfx
- ติดตั้ง lib/tools ที่จำเป็น ด้วย
sudo apt-get install --reinstall pcscd pcsc-tools libpcsclite1 libpcsclite-dev libpcsclite1 libccid - เมื่อติดตั้งเสร็จ ให้ทดสอบว่า smartcard ทำงวานหรือไม่ ด้วยคำสั่ง
systemctl status pcscdจะต้อง Active หากต้องการเช็คว่าเชื่อมต่อเครื่องอ่านได้หรือไม่ ให้เสียบเครื่องอ่านและใช้คำสั่งpcsc_scanจะแสดงรายการเครื่องอ่านที่เสียบอยู่
- แตก tar ไฟล์ติดตั้ง และ cd เข้าไปใน linux-installer
tar zxvf ชื่อไฟล์.tar.gz && cd linux-installer - รันคำสั่ง
./install-aarch64.sh secureagent-xxx.jarระบบจะทำการ ติดตั้งด้วยการสร้าง linux user secureagent จากนั้น download JDK และ ติดตั้ง systemd service และ ติดตั้งโปรแกรมที่ระบุ (ไฟล์ .jar) โดยให้แทนที่ secureagent-xxx.jar ด้วย jar เวอร์ชั่นที่ต้องการติดตั้ง - เมื่อติดตั้งเสร็จ ให้แก้ไขไฟล์ /home/secureagent/application-test.properties โดยใส่ค่า TOKEN ในไฟล์นี้สำหรับเครื่องเทสท์
- หากต้องการเปลี่ยนจาก test zone เป็น production zone ให้ใส
| package ffa.demo; | |
| import jdk.incubator.foreign.CLinker; | |
| import jdk.incubator.foreign.FunctionDescriptor; | |
| import jdk.incubator.foreign.MemoryAddress; | |
| import jdk.incubator.foreign.ResourceScope; | |
| import java.lang.invoke.MethodHandle; | |
| import java.lang.invoke.MethodType; |
| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <style> | |
| @import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300|Josefin+Slab|Arvo|Lato|Vollkorn|Abril+Fatface|Old+Standard+TT|Droid+Sans|Lobster|Inconsolata|Montserrat|Playfair+Display|Karla|Alegreya|Libre+Baskerville|Merriweather|Lora|Archivo+Narrow|Neuton|Signika|Questrial|Fjalla+One|Bitter|Varela+Round); | |
| .background { | |
| fill: #eee; | |
| pointer-events: all; | |
| } |
| package main | |
| import ( | |
| "fmt" | |
| "os" | |
| "os/exec" | |
| "syscall" | |
| ) | |
| func main() { |