複数のサーバーと通信する必要があるAzure Webジョブを開発しています。それぞれに個別のSSL接続を要求しています。Azure WebjobのX509CertificateCollectionの問題
証明書は外部サーバーに保存され、対応するSSL接続設定とともに実行時にロードされます。 X509CertificateCollectionにX509CertificateCollectionを追加するためにX509Certificate2コンストラクタを呼び出すと、終了コード-1073740940でWebjobが停止し、そのステータスが "PendingRestart"になります。私たちの推測では、X509Certificate2クラスはwebjobsと互換性がありませんが、この問題にどのように対処するかについてのヒントは見つかりません。
新しいX509Certificate2(sslCertificateBytes、 socketSettings_.CertificatePassword)IS-問題を生成するコード行)
private X509CertificateCollection GetClientCertificates(byte[] sslCertificateBytes)
{
log_?.OnEvent($"{nameof(SSLStreamFactory)} function {nameof(GetClientCertificates)} started");
X509CertificateCollection result = new X509Certificate2Collection();
log_?.OnEvent($"{nameof(X509CertificateCollection)} {nameof(result)} construction successfull");
try
{
if (sslCertificateBytes != null)
{
log_?.OnEvent($"{nameof(sslCertificateBytes)} enumerable != null");
result.Add(new X509Certificate2(sslCertificateBytes, socketSettings_.CertificatePassword));
log_?.OnEvent($"result.Add successful");
}
else if (!string.IsNullOrEmpty(socketSettings_.CertificatePath))
{
log_?.OnEvent($"{nameof(socketSettings_.CertificatePath)} != null");
result = new X509Certificate2Collection();
log_?.OnEvent($"{nameof(X509CertificateCollection)} {nameof(result)} construction successfull");
var clientCert = StreamFactory.LoadCertificate(socketSettings_.CertificatePath, socketSettings_.CertificatePassword, log_);
log_?.OnEvent($"{nameof(StreamFactory.LoadCertificate)} function ended");
if (clientCert != null)
{
result.Add(clientCert);
log_?.OnEvent($"result.Add successful");
}
}
}
catch (Exception ex)
{
log_?.OnEvent($"{nameof(SSLStreamFactory)} function {nameof(GetClientCertificates)} raised exception: {ex.Message}");
throw;
}
log_?.OnEvent($"{nameof(SSLStreamFactory)} function {nameof(GetClientCertificates)} ended");
return result;
}
は、AzureのWebjobs上のSSL証明書を管理する方法はあります? ありがとうございます