データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

ワークフローJavaメーラーSSL構成を実装する

ワークフロー通信を保護するために、Secure Sockets Layer(SSL)を使用するようにOracle®アプリケーションサーバーを構成できます。

はじめに

この投稿では、SSLを有効にしてSMTP/IMAPサーバーに接続するWorkflowJavaMailerのテストケースを設定するためのコマンドとツールの例について説明します。

ワークフローJavaメーラーを構成するには、次の詳細な手順を実行します。

ステップ1:ポートを開く

ネットワークチームと協力して、Concurrent Manager Tireから次のポートを開きます:SMTP/SSL Port: 465 および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 '^]'
ステップ2:メールサーバーから証明書をエクスポートします。

DBA兼ブロガーのGoraknathRathodは、2018年の投稿でこのステップについて次のように説明しています。「安全な通信チャネルを確立するには、Eメールサーバー(認証局が発行)からの証明書をConcurrentManagerTireにインポートする必要があります。

「信頼できる認証局(Verisignなど)によって発行された電子メールサーバー証明書は、システム管理者から取得するか、[次の手順を完了する]ことでダウンロードできます。」

Rathodが説明する手順は次のとおりです。

A.メインのWebページhttps://host.domain:portにアクセスします。
B.ページの下部にある南京錠をダブルクリックして、証明書を表示します。南京錠がない場合は、上部のツールバーで[ファイル->プロパティ->証明書]を選択します。 。
C. [Certification Path]タブを選択し、次のことを行います。
a。最初の行をクリックして、証明書を表示します。これは、ルート認証局(CA)の証明書になります。
b。 詳細について タブで、ファイルにコピーをクリックします 。これにより、エクスポートウィザードが開始されます。
c。 [次へ]をクリックして続行します。
d。 Base-64でエンコードされたX.509(.CER)を選択します 次へをクリックします 。
e。 ca1と入力します 名前としてOKをクリックします 証明書をエクスポートします。
f。 [certification-path]タブの各行について、前述のすべての手順を繰り返し、ファイル名を毎回1ずつ増やします(つまり、ca2、ca3)。

ステップ3:キーストアを作成する

Rathodは続けます。「ConcurrentManagerTireにキーストアを作成します。証明書をキーストアにインポートします。」

以下は、私が提供したいくつかのサンプルコードでRathodが説明する手順です。

A.デフォルトの場所( / home / applmgr など)を使用して、証明書を保持するキーストアを作成します ).B。 FTPツールを使用して、証明書をConcurrentManagerTireにアップロードします。

[<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.作成したキーストアに証明書をインポートします。

[<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.証明書を確認します。

[<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:16: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. MAILER_SSL_TRUSTSTORE(つまり、 /home/applmgr/.keystore )を設定します 。

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
ステップ4:IMAPSSL/SMTPSSLで動作するようにメーラーを構成します

Rathodが説明する手順は次のとおりです。

ナビゲーション:OAM>システム管理者>ワークフローマネージャー>通知メーラーリンクにログオンします 。

A.アウトバウンドサーバー名を入力し、チェックボックスアウトバウンドSSL有効を検証します。B。インバウンドサーバー名、ユーザー名、パスワード、返信先アドレスを入力し、チェックボックスを検証しますインバウンドSSLを有効にする

ワークフローJavaメーラーSSL構成を実装する

ステップ5:R12インスタンスのデバッグ手順

Rathodが説明する手順は次のとおりです。

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
ステップ6:メーラーを認証する

R12.1.3では、Oracle Workflow Notification MailerはSMTP認証をサポートしているため、SMTP認証用に構成されたエンタープライズSMTPサーバーでNotificationMailerを使用できます。

Oracle R12.1.3の機能に関する2014年のプレゼンテーションによると、「SMTP認証では、送信者がメールサーバーに対して自身を識別して認証する必要があります。認証が成功すると、メールサーバーは送信者のメールの送信を許可します。 SMTP認証を使用すると、正当なユーザーがメールをリレーしながら、スパマーなどの許可されていないユーザーへのリレーサービスを拒否できます。

「OracleWorkflowは現在、PLAIN、LOGIN、およびDIGST-MD5認証メカニズムをサポートしています。」

ステップ7:サービスを循環させる

構成を完了するには、必要に応じてすべてのサービスを停止して開始します。

結論

SSLは、メッセージの暗号化、整合性、および認証を提供することで通信を保護します。前述の手順に従って実装することで、ワークフロー通信を簡単に保護できます。

データサービスの詳細をご覧ください。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. JavaでJToggleButtonを実装するにはどうすればよいですか?

    JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。

  2. ワークフロー通知メーラーの問題を処理するためのDBAのヒント

    この投稿では、データベース管理者(DBA)が毎日直面するOracle®WorkflowNotificationMailerの一般的な問題について説明します。 はじめに 問題を管理するときは、問題の記録、追跡、および解決のプロセスを扱います。 Workflow Notification Mailerには多くのコンポーネントがあるため、それに関連する問題に対処するのに苦労する可能性があります。あなたを助けるために、私はいくつかの問題と可能な修正をカバーします。 WorkflowNotificationMailerのアクティビティを簡単に管理するために必要なスクリプトをお見逃しなく。 ワークフロー