LoginSignup
3
3

More than 5 years have passed since last update.

SAP Note を wget でダウンロードする。

Last updated at Posted at 2018-01-23

はじめに

SAP ABAPシステムに対して、SAP Note をオフライン(SAPNETの接続なし)で適用する場合、Tr-cd:SNOTE 向けにテキストベースのNoteをサポートポータルからダウンロードする必要がある。

Noteが1、2個であれば手動ダウンロードでも問題ないが、10個、20個だと手動ダウンロードは時間と手間がかかりつらい。

そこで、wget と SAP Passport(実態はクライアント証明書)を利用して、コマンドベースでNoteを取得する方法を探した。

※2018/01現在、有効な方法であることを確認

作業環境

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

# rpm -qa | grep openssl
openssl-1.0.2k-8.el7.x86_64

# rpm -qa | grep wget
wget-1.14-15.el7.x86_64

事前準備

SAP Passport の入手

以下のサイトにアクセスし、SAP Passportを入手する。
(すでに発行済みでPKCS#12形式のクライアント証明書を保持している場合は省略可)

https://launchpad.support.sap.com/#/sappassport
※Sユーザでのログイン必須

SAP Passport を作業環境へアップロード

入手に成功するとPKCS#12形式でクライアント証明書がローカルPCにダウンロードされる。
ダウンロードされたファイル(<SID>.pfx)を作業する環境にアップロードする。

※今回はLinux環境を使用しているが、Windowsでも同様のことは可能。なはず。。。(未検証)

証明書をPKCS#12形式からPEMに変換

man wget によると、wget はクライアント証明書、CA証明書、秘密鍵をそれぞれファイルで指定する必要がある。
形式はデフォルトがPEM、オプション指定でDERにも対応しているようだが、今回はデフォルトのPEMを利用することとする。

# SAP Passport ファイルの確認
$ ls -l
-rw-r--r--. 1 user uesr  3100 Jan 23 13:08 <SID>.pfx

# クライアント証明書
$ openssl pkcs12 -in <SID>.pfx -nokeys -clcerts -out client_cert.crt.pem
Enter Import Password: <SAP Passport入手時に入力したパスワード>
MAC verified OK

# CA証明書
$ openssl pkcs12 -in <SID>.pfx -nokeys -cacerts -out ca_cert.crt.pem
Enter Import Password: <SAP Passport入手時に入力したパスワード>
MAC verified OK

# 秘密鍵
$ openssl pkcs12 -in <SID>.pfx -nocerts -nodes -out client_cert.key.pem
Enter Import Password: <SAP Passport入手時に入力したパスワード>
MAC verified OK

SAP Note(SNOTE向け)のダウンロード

<NoteNo> : ダウンロードするNote番号を指定する。

$ wget --certificate=client_cert.crt.pem --private-key=client_cert.key.pem --ca-certificate=ca_cert.crt.pem -O <NoteNo>.SAR https://apps.support.sap.com/sap/support/lp/notes/hcp/down4snote/down4snote.htm?iv_num=<NoteNo>&sap-language=EN

仕上げに

後はシェル化して
1. NoteNo を外部ファイルから読ませダウンロード
2. SAPCAR で展開
3. unzip で展開

等とすれば、面倒なSAPNETなしのNote適用も少しは楽になるかも。。。

※くれぐれもクライアント証明書の管理には注意を払うこと。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3