Подключение HTTP/2 не может быть установлено, потому что сервер не завершил рукопожатие HTTP/2C#

Место общения программистов C#
Ответить
Anonymous
 Подключение HTTP/2 не может быть установлено, потому что сервер не завершил рукопожатие HTTP/2

Сообщение Anonymous »

Я хотел использовать сертификат самостоятельно подписанного для использования GRPC Dotnet, но я получаю эту ошибку, когда я вызываю службу из моего клиента: подключение HTTP/2 не может быть установлено, потому что сервер не завершил рукопожатие HTTP/2.@echo off
set path="C:\Program Files\OpenSSL-Win64\bin"
#set OPENSSL_CONF=D:\programas\OpenSSL-Win64\OpenSSL-Win64\bin\openssl.cfg

#CA

echo Generate CA key:
openssl genrsa -passout pass:1111 -des3 -out ca.key 4096

echo Generate CA certificate:
openssl req -passin pass:1111 -new -x509 -days 36500 -key ca.key -out ca.crt -subj "/C=US/ST=CA/L=Cupertino/O=YourCompany/OU=YourApp/CN=MyRootCA"

#SERVER

echo Generate server key:
openssl genrsa -passout pass:1111 -des3 -out server.key 4096

echo Generate server signing request:
openssl req -passin pass:1111 -new -key server.key -out server.csr -subj "/C=US/ST=CA/L=Cupertino/O=YourCompany/OU=YourApp/CN=%COMPUTERNAME%"

echo Self-sign server certificate:
openssl x509 -req -passin pass:1111 -days 36500 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

#Se crea el certificado pfx
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

echo Remove passphrase from server key:
#openssl rsa -passin pass:1111 -in server.key -out server.key

#CLIENT

echo Generate client key
openssl genrsa -passout pass:1111 -des3 -out client.key 4096

echo Generate client signing request:
openssl req -passin pass:1111 -new -key client.key -out client.csr -subj "/C=US/ST=CA/L=Cupertino/O=YourCompany/OU=YourApp/CN=%CLIENT-COMPUTERNAME%"

echo Self-sign client certificate:
openssl x509 -passin pass:1111 -req -days 36500 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

#Se crea el certificado pfx
openssl pkcs12 -export -out client.pfx -inkey client.key -in client.crt

echo Remove passphrase from client key:
#openssl rsa -passin pass:1111 -in client.key -out client.key

pause
< /code>
В моей службе я использую этот код: < /p>
webBuilder.ConfigureKestrel(options =>
{
options.Listen(IPAddress.Any, 5001, listenOptions =>
{
listenOptions.Protocols = HttpProtocols.Http2;
listenOptions.UseHttps("server.pfx", "1111");
//listenOptions.UseHttps("", "");
});
});
webBuilder.UseStartup();

webBuilder.UseStartup();
});
< /code>
В моем клиенте у меня есть этот код: < /p>
X509Certificate2 miCertificado = new X509Certificate2("client.pfx", "1111");

HttpClientHandler miHandler = new HttpClientHandler();
miHandler.ClientCertificates.Add(miCertificado);
HttpClient miHttpClient = new HttpClient(miHandler);

GrpcChannelOptions misOpciones = new GrpcChannelOptions() { HttpClient = miHttpClient };

var miChannel = GrpcChannel.ForAddress("http://1.1.1.2:5001");

var miClient = MagicOnionClient.Create(miChannel);

ComponentesDto miDataResultado = await miClient.GetDataAsync();
< /code>
Я не вижу, как это может быть проблема. Что я делаю не так?>

Подробнее здесь: https://stackoverflow.com/questions/674 ... ot-complet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»