【第3回】HULFT8 暗号化配信・ファイルトリガー配信(Linux)

# はじめに
[前回](https://qiita.com/asds0025/items/5373ae5248964c4cb4cc)はHULFT8の配信設定・集信設定・配信テストを行いました。
今回は暗号化配信とファイルトリガー配信について解説していきます。

# 環境
* Oracle Linux 8.5
* HULFT8 Cipher OP(AES) Linux / 8.5.1

# 構成
![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709815/64d86fa5-44a3-bb85-b96f-0e25a4cc2039.png)

# 1.暗号化配信設定

HULFT8の暗号化は、下記3種類があります。(今回はAES暗号での配信を行います)
・HULFT暗号
・AES
・C4S

また、暗号化キーを配信側と集信側で揃えることで実現できます。
![タイトルなし2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709815/ef356b4e-d5a5-6d22-95ef-151210ae9dca.png)

## 1.1HULFT暗号化機能の有効化 (両ノードで実施)

hulenv.confのciphertypeの値を1とすることで、暗号化機能を有効にできます。

```java:
[root@ln01 Send]# cat $HULPATH/hulenv.conf |grep ciphertype
ciphertype = 1
```

0から1へ変更を行った場合は、プロセスの再起動を実施して下さい。
```java:
[root@ln01 Send]# ###プロセス停止
[root@ln01 Send]# utlkillsnd
[root@ln01 Send]# utlkillrcv
[root@ln01 Send]# utlkillobs
[root@ln01 Send]#
[root@ln01 Send]# ### プロセス起動
[root@ln01 Send]# hulsndd
[root@ln01 Send]# hulrcvd
[root@ln01 Send]# hulobsd
```

## 1.2HULFT暗号化キーの設定 (両ノードで実施)

配信ホストと集信ホストで同一の値を設定します

* 配信側

```java:
[root@ln01 Send]# utladmin
```

```java:
６．システム管理 > １．配信管理情報 > 暗号化したいFILE ID
```

```java:

 配信管理情報 更新                    Ctr+s：前画面         ESC ：キャンセル
                                                            TAB ：項目移動

 ファイルＩＤ      :  FILE1

 連携ＤＢＩＤ      :

 転送間隔          :  0            転送優先度        :  50
 転送ブロック長    :  0            転送ブロック数    :  0

 シフトコードの扱い:  Y (Y:付加する N:付加しない)

 暗号キー  :12345678  ★ここを設定する







 コメント :
```

* 集信側

```java:
[root@ln02 Send]# utladmin
```

```java:
６．システム管理 > ２．集信管理情報 > 暗号化したいFILE ID
```

```java:

 集信管理情報 更新                    TAB ：項目移動        ESC ：キャンセル
                                                           Ctr+s：前画面

 ファイルＩＤ      :  FILE1

 集信完了通知      :  T (T:受信完了  J:正常時ジョブ完了)

 転送グループＩＤ  :

 データ検証        :  0 (0:しない 1:する)
 暗号キー  :  12345678　★ここの値を揃える









 コメント :
```

## 1.3暗号化配信

```java: 
utlsend -f FILE1
```

## 1.4配信確認

```java: 
[root@ln01 Send]# utllist -s

FILEID    HOST NAME START DAY   START TIME END TIME   RECORDS  STATUS   CONNECT

FILE1     ln02      2022/06/22  16:54:24   16:54:27          1 0000-0000   LAN
FILE1     ln02      2022/06/22  20:08:00   20:08:07          1 0000-0000   LAN

[root@ln01 Send]#
```

暗号化種別が"AES"となっていることを確認します。

```java: 

 配信詳細情報照会                       Ctr+s：次画面           ESC ：一覧画面


 ファイルＩＤ: FILE1
 集信ホスト名: ln02

     配信受付日時: 2022/06/22 20:08:00
     配信日時    : 2022/06/22 20:08:00 - 20:08:07
     完了コ－ド  : 0000-0000
     レコ－ド件数: 1                   データサイズ: 1073741824
     ファイル名  : /opt/HULFT/Send/testdata
     転送レ－ト  : 153391689 Byte/秒   接続形態    : LAN      IPバージョン: 4
     圧縮方式    : 圧縮なし            圧縮率      : ---
     コード変換側: 無変換
     転送ブロック長: 63712             転送ブロック数: 1
     処理識別子  : E20D544F27E63DEBC6B30DBFB0BEDB9132
     転送識別子  :
               E20D544F27E63DEBC6B30DBFB0BEDB9132000100000000000000000000000000
     暗号化種別  : AES   ★ここを確認    連携ＤＢＩＤ:

     コメント    :
```

# 2.ファイルトリガ設定 (自動配信)

事前に下記を整理します
* 配信ディレクトリ : /opt/HULFT/Send
* 配信ファイル名 : testdata
* 検知ディレクトリ : /opt/HULFT/Send
* 検知ファイル名 : kenchi

検知ディレクトリへ検知ファイルを置くことで、配信が行われます。
※今回は、配信ディレクトリと検知ディレクトリを同じディレクトリにしています。

## 2.1 ジョブ起動情報設定 (配信ホストで実施)

何故ジョブ？って思われた方がいるかもしれませんね。
検知→ジョブの実行となるためです。ジョブへ配信コマンド記載します。

```java:
[root@ln01 Send]# utladmin
```

```java:
６．システム管理 > ３．ジョブ起動情報にカーソルを合わせる
```

IDまたはホスト名に"ジョブ名"を入力
```java:

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        JOB1
```

送信時のコマンドを記載し、Enterで保存

```java:

 ジョブ起動情報 新規登録       Ctr+p：ジョブ起動情報複写    ESC ：キャンセル
                               Ctr+d：ジョブ起動情報削除    TAB ：項目移動

 ジョブＩＤ    : JOB1

 ->  utlsend -f FILE1
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->

 コメント
```

## 2.2 ファイルトリガ情報設定 (配信ホストで実施)

このディレクトリのこのファイルを検知したら、このJOBが走りますよってイメージです。

```java:
[root@ln01 Send]# utladmin
```

```java:
６．システム管理 > ８．ファイルトリガ情報にカーソルを合わせる
```

IDまたはホスト名に"ファイルトリガ名"を入力
```java:

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        TRG1
```

下記のように設定し、Enterで保存
```java:

 ファイルトリガ情報 新規登録            Ctr+p：情報複写     ESC ：キャンセル
                                        Ctr+d：情報削除     TAB ：項目移動
 トリガＩＤ  : TRG1

 ディレクトリ名    : /opt/HULFT/Send
 ファイル名        : kenchi
 ジョブＩＤ        : JOB1
 サブディレクトリ監視  : N (Y: 監視する  N: 監視しない )
 正規表現使用          : N (Y: 使用する  N: 使用しない )

 作成監視    : Y (Y: 監視する  N: 監視しない )
 削除監視    : N (Y: 監視する  N: 監視しない )
 変更監視    : N (Y: 監視する  N: 監視しない )

 監視方法              : T (T: タイムスタンプ  S: ファイルサイズ )
 ファイル操作確認      : Y (Y: 確認する  N: 確認しない )
 ファイル操作確認待機  : Y (Y: 待機する  N: 待機しない )
 監視間隔              : 10

 実行有無              : Y (Y: 実行する  N: 実行しない )

 コメント :
```

## 2.3 ファイルトリガの動的反映
```java:
[root@ln01 Send]# utltriggerconf -r -sync
```



## 2.4ファイルトリガ配信

それでは配信していきます。
集信ホストで集信したファイルについては、移動または削除しておいて下さい。

```java:
[root@ln01 Send]# pwd
/opt/HULFT/Send
[root@ln01 Send]#
[root@ln01 Send]# ll
合計 1048576
-rw-r--r-- 1 root root 1073741824  6月 22 16:40 testdata
[root@ln01 Send]#
[root@ln01 Send]# touch kenchi
[root@ln01 Send]#
[root@ln01 Send]# ll
合計 1048576
-rw-r--r-- 1 root root          0  6月 22 20:58 kenchi
-rw-r--r-- 1 root root 1073741824  6月 22 16:40 testdata
```

配信されていました
```java:
[root@ln01 Send]# utllist -s

FILEID    HOST NAME START DAY   START TIME END TIME   RECORDS  STATUS   CONNECT

FILE1     ln02      2022/06/22  16:54:24   16:54:27          1 0000-0000   LAN
```

# おわりに
いかがだったでしょうか。
次回がラストになります。マニアックな、動的配信・動的集信を記載していきます。