1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Let's Encrypt + Wowza + WebRTCでICEサーバーとのネゴシエーションに失敗する

Posted at

はじめに

前述の

でキーストア生成もできたことだし、WowzaでWebRTCを試すかーと思って試してみたら映像視聴が行えない。
原因とその調査過程を以下にまとめる。

原因

Let's Encryptで生成した証明書の暗号方式がECDSAになっている。(WowzaがECDSAには対応していない???)

調査

chrome://webrtc-internals/

Chromeの場合は「chrome://webrtc-internals/」でWebRTCの稼働状況を確認できる。
すると"iceconnectionstatechange"が"failed"になっている。

パケットキャプチャ

Wowza側でパケットキャプチャしてみる。(iceconnectionstatechangeがfailedになるタイミングのパケット)
以下は別の環境で視聴が行えている時のパケットと今回視聴が行えない環境でのパケットを比較した結果である。

動作確認できる環境(成功)

パケットキャプチャ_成功する場合.png

今回試した環境(失敗)

パケットキャプチャ_失敗する場合.png

Wowza側が"Certificate Unknown"と言っているので、従来の証明書と形式が違う???と推測。

証明書を比較

そこで証明書を見比べてみる。(以下に抜粋したものを貼り付け)

動作確認できる環境

        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)

RSA。

今回試した環境

        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)

ECDSA!。

何故このような差が生まれたか

これまでLet's Encryptの証明書を生成するためのcertbotはUbuntuに標準で入っているものを利用していたが、今回はcertbot公式サイトの手順を参照しsnapを利用して生成した。

そこでapt install certbotで標準パッケージを入れなおして生成しなおすと、証明書もRSAになり、WebRTCでの視聴確認が無事行えた。

今回はここまで。以下も気になるところだが、それはまた時間ができた時にでも。

・Wowzaが本当にECDSAに非対応なのか?
・snapで入れたcertbotで暗号アルゴリズムをRSAにする方法は?

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?