Để bảo mật truyền thông workflow, bạn có thể cấu hình Oracle® application server để sử dụng Secure Sockets Layer (SSL).
Giới thiệu
Bài viết này mô tả ví dụ về các lệnh và công cụ để thiết lập trường hợp test của Workflow Java Mailer kết nối với server SMTP/IMAP có SSL enabled.
Thực hiện các bước chi tiết sau để cấu hình Workflow Java Mailer:
Bước 1: Mở port
Làm việc với team mạng và mở các port sau từ Concurrent Manager Tier: SMTP/SSL Port: 465 và IMAP/SSL Port: 993.
Protocol: SMTP/SSL Port: 465
Protocol: IMAP/SSL Port: 993
PROD [<user>@servername ~]$ telnet <SMTP Server Name> 465
Trying XXXXXX...
Connected to SMTP Server Name.
Escape character is '^]'
PROD [<user>@servername ~]$ telnet <IMAP Server Name> 993
Trying XXXXXX...
Connected to IMAP Server Name.
Escape character is '^]'
Bước 2: Xuất chứng chỉ từ email server.
Goraknath Rathod, một DBA và blogger, giải thích bước này trong bài đăng 2018 của ông: "Để thiết lập kênh truyền thông an toàn, chứng chỉ từ Email Server (do Certification Authority cấp) cần được nhập vào Concurrent Manager Tier.
"Chứng chỉ email server do Certification Authority tin cậy cấp (ví dụ: Verisign), có thể lấy từ System Administrator hoặc tải xuống bằng cách [hoàn thành các bước sau]:"
Sau đây là các bước Rathod mô tả:
A. Truy cập trang web chính https://host.domain:port.
B. Double-click vào biểu tượng ổ khóa (padlock) ở dưới cùng trang để xem Certificates. Nếu không có padlock, thì trên thanh công cụ trên cùng: chọn File->Properties->Certificates.
C. Chọn tab Certification Path và:
a. Nhấp vào dòng đầu tiên rồi view certificate. Đây sẽ là chứng chỉ cho root Certifying Authority (CA).
b. Trên tab Details, nhấp Copy to File. Điều này sẽ khởi động export wizard.
c. Nhấp Next để tiếp tục.
d. Chọn Base-64 encoded X.509 (.CER) và nhấp next.
e. Nhập ca1 làm tên và nhấp ok để xuất chứng chỉ.
f. Lặp lại tất cả các bước trước cho từng dòng trên tab certification-path, tăng tên file mỗi lần 1 (ví dụ: ca2, ca3).
Bước 3: Tạo keystore
Rathod tiếp tục: "Tạo keystore trên Concurrent Manager Tier. Nhập chứng chỉ vào keystore."
Sau đây là các bước Rathod mô tả với một số mã mẫu tôi cung cấp:
A. Tạo keystore chứa chứng chỉ, dùng vị trí mặc định (ví dụ: /home/applmgr). B. Tải chứng chỉ lên Concurrent Manager Tier dùng công cụ FTP.
[<user>@servername ~]$ ls -lrt ca1.cer ca2.cer ca3.cer ca4.cer
-rw-rw-r-- 1 applmgr applmgr 1472 Jul 17 00:40 ca1.cer
-rw-rw-r-- 1 applmgr applmgr 1646 Jul 17 00:41 ca2.cer
-rw-rw-r-- 1 applmgr applmgr 1756 Jul 17 00:41 ca3.cer
-rw-rw-r-- 1 applmgr applmgr 2800 Jul 17 00:41 ca4.cer
[<user>@servername ~]$ pwd
/home/applmgr
[<user>@servername ~]$ keytool -genkey -alias -keystore -storetype JKS
Enter keystore password:
Re-enter new password:
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your city or locality?
What is the name of your state or province?
What is the two-letter country code for this unit?
Is CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=XXX correct? [no]: yes
Enter key password for <-keystore> (RETURN if same as keystore password):
Re-enter new password:
changeit
C. Nhập chứng chỉ vào keystore đã tạo.
[<user>@servername ~]$ ls -la .keystore
-rw-rw-r-- 1 applmgr applmgr 1332 Jul 17 01:04 .keystore
keytool -import -alias my_cert1 -file ca1.cer -keystore .keystore -storepass <keystore password>
keytool -import -alias my_cert2 -file ca2.cer -keystore .keystore -storepass <keystore password>
keytool -import -alias my_cert3 -file ca3.cer -keystore .keystore -storepass <keystore password>
keytool -import -alias my_cert4 -file ca4.cer -keystore .keystore -storepass <keystore password>
D. Xác minh chứng chỉ.
[<user>@servername~]$ keytool -list -keystore .keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 5 entries
my_cert4, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 1E:5D:EA:8C:79:E1:89:85:1B:31:62:1F:D9:27:6A:56:FD:AB:37
my_cert3, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 27:AC:93:69:FA:F2:52:07:BB:26:27:CE:FA:CC:BE:4E:F9:C3:19:B8
my_cert2, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 34:0B:28:80:F4:46:FC:C0:4E:59:ED:33:F5:2B:3D:08:D6:24:29:64
my_cert1, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
-keystore, Jul 17, 2020, PrivateKeyEntry, Certificate fingerprint (SHA1): E0:DA:C8:95:4F:FB:A2:82:40:9E:6A:02:A0:82:0F:35:5E:B1:FE:08
E. Thiết lập MAILER_SSL_TRUSTSTORE (ví dụ: /home/applmgr/.keystore).
Từ SQL *Plus:
[<user>@servername~]$ sqlplus apps/XXXXX @$FND_TOP/sql/afsvcpup.sql
10006 Workflow Notification Mailer DEACTIVATED_SYST WF_MAILER GSM
Enter Component Id: 10006
10243 SSL Trust store NONE NONE N N
Enter the Comp Param Id to update: 10243
You have selected parameter: SSL Trust store
Current value of parameter: NONE
Enter a value for the parameter: /home/applmgr/.keystore
Bước 4: Cấu hình Mailer làm việc với IMAPSSL / SMTPSSL
Sau đây là các bước Rathod mô tả:
Điều hướng: Đăng nhập OAM >System Administrator > Workflow Manager > Notification Mailer Link.
A. Nhập Outbound Server Name và tích checkbox Outbound SSL Enable. B. Nhập Inbound Server name, Username, Password, Reply-to Address và tích checkbox Inbound SSL Enable.
Bước 5: Các bước debug cho instance R12
Sau đây là các bước Rathod mô tả:
A. SMTP
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp \
-Ddbcfile=$FND_SECURE/TEST.dbc \
-Dport=465 -Dssl=Y \
-Dtruststore=/home/applmgr/.keystore \
-Dserver=email.yourdomain.com \
-Daccount=youremail@yourdomain.com -Dpassword=xxxxx \
-Dconnect_timeout=120 -Ddebug=Y \
-DdebugMailSession=Y oracle.apps.fnd.wf.mailer.Mailer
b. IMAP
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=imap \
-Ddbcfile=$FND_SECURE/TEST.dbc \
-Dport=993 -Dssl=Y \
-Dtruststore=/home/applmgr/.keystore \
-Dserver=email.yourdomain.com \
-Daccount=youremail@yourdomain.com -Dpassword=xxxxx\
-Dconnect_timeout=120 -Ddebug=Y \
-DdebugMailSession=Y oracle.apps.fnd.wf.mailer.Mailer
Bước 6: Xác thực Mailer
Trong R12.1.3, Oracle Workflow Notification Mailer hỗ trợ xác thực SMTP (SMTP authentication), cho phép bạn sử dụng Notification Mailer với enterprise SMTP server được cấu hình cho SMTP authentication.
Theo bài thuyết trình 2014 về tính năng Oracle R12.1.3: "Xác thực SMTP yêu cầu người gửi xác thực bằng cách xác định bản thân với mail server. Sau khi xác thực thành công, mail server cho phép truyền email của người gửi. Xác thực SMTP có thể dùng để cho phép người dùng hợp pháp relay mail trong khi từ chối dịch vụ relay cho người dùng không được ủy quyền, như spammer.
"Oracle Workflow hiện hỗ trợ các cơ chế xác thực PLAIN, LOGIN, và DIGST-MD5."
Bước 7: Khởi động lại dịch vụ (Cycle the services)
Để hoàn tất cấu hình, dừng và khởi động tất cả dịch vụ theo nhu cầu.
Kết luận
SSL bảo mật truyền thông bằng cách cung cấp mã hóa thông điệp (message encryption), toàn vẹn (integrity), và xác thực (authentication). Bằng cách tuân thủ và triển khai các bước trước, bạn có thể dễ dàng bảo mật truyền thông workflow.
Tìm hiểu thêm về Dịch vụ Dữ liệu của chúng tôi.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc hội thoại với chúng tôi.