証明書の指定¶
Sora Unity SDK で CA 証明書、クライアント証明書、クライアントシークレットキーを指定する方法を説明します。
この機能を利用することで、Unity SDK を利用しているときに Sora に接続する証明書を指定することができます。
証明書について¶
Sora Unity SDK は liberbrtc の証明書チェック機能と、ハードコードで持っている証明書を使用して認証をしています。
独自の証明書を使用したい場合、PEM 形式の CA 証明書、クライアント証明書、クライアントシークレットキーを指定することで利用が可能です。
Sora Unity SDK の実装内容¶
Sora Unity SDK では、証明書の指定を利用するための実装を以下のように提供しています。
public class Config
{
// クライアント証明書の文字列
public string? ClientCert;
// クライアント証明書の秘密鍵の文字列
public string? ClientKey;
// ルート証明書の文字列
public string? CACert;
}
利用方法¶
以下に Sora Unity SDK Samples での利用方法を示します。
設定は Inspector で実施することを想定したものです。
ファイルをロードではなく、ファイル内容を直接入力する設定になっています。
ご利用になる用途に合わせて適宜変更してください。
Inspector での設定例¶
以下に Inspector での設定例を示します。 ファイルの内容を貼り付けてください。
-----BEGIN CERTIFICATE-----
MIIFaz (省略)
-----END CERTIFICATE-----
証明書関連設定の定義
// ここでは証明書を Inspector に貼り付ける実装にする
// 有効にするフラグを用意してあるので、証明書を使わない場合は false にする
public bool useClientCert = false;
private string clientCert = @"";
public bool useClientKey = false;
private string clientKey = @"";
public bool useCACert = false;
private string caCert = @"";
Sora に接続する際に設定を行う部分の例を以下に示します。
// Sora インスタンスの宣言
Sora sora;
// Sora.Config インスタンスの生成
var config = new Sora.Config();
// 有効フラグを確認して、証明書を設定
if (useClientCert)
{
config.ClientCert = clientCert;
}
if (useClientKey)
{
config.ClientKey = clientKey;
}
if (useCACert)
{
config.CACert = caCert;
}