Salesforce CSRを用いてLet`s EncryptからSSL証明書を取得する方法

By | March 25, 2020

ZeroSSLを用いてブラウザ上で取得・更新するパターン

①download CSR from Salesforce

②access the following URL( https://zerossl.com/free-ssl/#crt )

③ダウンロードした「csr.txt」を開き、下図のとおり設定を行ってください。ポイントは「DNS verification」を使うところです。後で DNS設定においてTXT レコードを追加する必要があります。

④NEXT ボタンを押すと、秘密鍵が生成されるのでダウンロードしましょう。ファイル名は「accunt-key.txt」となります。その後に、NEXT ボタンを押しましょう。

⑤ドメインとの Verification(検証)が必要となりますので、下図に情報に基づき、Wordpressなどに TXT レコードを追加しましょう。追加が終わったら、ZeroSSL のWebサイトに戻り、最終ステップに進みましょう。下図のとおり、NEXT ボタンを押すことで Verification(検証)を行います。

⑥SSL証明書のダウンロード

⑦account IDを保存して、NEXT DONEを押して終了

更新する場合

  1. FREE SSL Certificate Wizard で、保存した CSR「csr.txt」をペースト(図16参照)
  2. FREE SSL Certificate Wizard の NEXT ボタンを押す
  3. CloudDNS の TXT レコードを更新(図13,17参照)
  4. FREE SSL Certificate Wizard の NEXT ボタンを押す
  5. SSL証明書「domain-crt.txt」をダウンロード
  6. FREE SSL Certificate Wizard の DONE NEXT ボタンを押す

(CentOS上で)Certbotを使用して取得・更新するパターン

①AWSでインスタンス作成(https://www.ipentec.com/document/amazon-ec2-create-instance-centos7)

②下記情報を用いて、TeraTermでCentOSにアクセス(https://dev.classmethod.jp/articles/aws-beginner-ec2-ssh/)

  • ホスト名:IPv4 パブリックIP
  • ユーザ名:centos
  • 秘密鍵:キーペア作成時にダウンロードしたの.pem形式のファイル

③必要に応じてCentOSの初期設定を行う(https://qiita.com/2no553/items/ac951b988d03cf520966)

④rootユーザへの切り替え

su

⑤EPELパッケージのイントール(https://stackoverflow.com/questions/53545436/no-package-certbot-available)

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

⑥Certbotのインストール

yum install certbot

⑦ホスト(WindowsPC)からCentOSにCSRファイルをアップロード(https://ittrip.xyz/soft/linux/tera-term-upload)

⑧certbotの実行

certbot certonly --csr communityoverride_ehrenfest_com.csr --manual --domain communityoverride.ehrenfest.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns

⑨発行されたDNS認証用ワンタイムトークンを用いて、DNSのTXTレコードを設定(※DNSの設定が完了するまでEnterは押さないこと

  • ホスト名:_acme-callenge.{サブドメイン}
  • VALUE:{ワンタイムトークン}

⑨発行された証明書のうち、サーバー証明書がSalesforceにアップロードするための証明書であることを確認する(https://community.letsencrypt.org/t/which-cert-is-intermediate-and-which-is-server-cert/29758)

  • 0000_cert.pem = cert.pem (i.e., the server certificate)
  • 0000_chain.pem = chain.pem (i.e., the intermediate certificate)
  • 0001_chain.pem = fullchain.pem (i.e., a concatenation of cert.pem + chain.pem in one file).

⑩当該の証明書をホスト(WindowsPC)にダウンロード(https://ittrip.xyz/soft/teratermlinux)

⑪当該の証明書をSalesforceにアップロード

更新する場合

  1. certbotの再実行
  2. 新規発行されたサーバー証明書をホスト(WindowsPC)にダウンロード
  3. 当該の証明書をSalesforceにアップロード

参考:https://base.terrasky.co.jp/articles/ijhJp