Eine HTTP/2 -Verbindung konnte nicht hergestellt werden, da der Server den HTTP/2 -Handschlag nicht abgeschlossen hatC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Eine HTTP/2 -Verbindung konnte nicht hergestellt werden, da der Server den HTTP/2 -Handschlag nicht abgeschlossen hat

Post by Anonymous »

Ich wollte ein selbst signiertes Zertifikat verwenden, um GRPC DOTNET zu verwenden, aber ich erhalte diesen Fehler, wenn ich den Dienst von meinem Client aufrufe: Eine HTTP/2 -Verbindung konnte nicht festgelegt werden, da der Server das HTTP/2 -Handshake nicht abgeschlossen hat.@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>
In meinem Dienst verwende ich diesen 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>
In meinem Client habe ich diesen 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>
Ich sehe nicht, wie es das Problem sein könnte. Was mache ich falsch?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post