Hi ,
A simple thing but somehow not working for me.Can somebody please share :
My client & server are on linux & same machine.
(A)CLIENT :
I am adding certificates to trusted CA stored in a file "roots.pem" & GRPC_DEFAULT_SSL_ROOTS_FILE_PATH points to this file
(B) SERVER
- How to install the private key & certificate here? I tried a couple of permutation combination but nothing is working. I guess i am using wrong format.
> ./greeter_async_server
ssl_transport_security.c:576] Invalid cert chain file.
security_connector.c:770] Handshaker factory creation failed with TSI_INVALID_ARGUMENT.
server_secure_chttp2.c:191] Unable to create secure server with credentials of type Ssl.
Stream Server listening on localhost:50052
[5]+ Segmentation fault (core dumped) ./greeter_async_server
void StreamRun() {
std::string server_address("localhost:50052");
GreeterServiceImpl service;
ServerBuilder builder;
SslServerCredentialsOptions::PemKeyCertPair pkcp = {test_server1_key, test_server1_cert};
SslServerCredentialsOptions ssl_opts;
ssl_opts.pem_root_certs = "";
ssl_opts.pem_key_cert_pairs.push_back(pkcp);
builder.AddListeningPort(server_address, grpc::SslServerCredentials(ssl_opts));
// builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
builder.RegisterService(&service);
builder.RegisterService(&stream_service_);
server_ = builder.BuildAndStart();
std::cout << "Stream Server listening on " << server_address << std::endl;
server_->Wait();
}
const char test_server1_cert[] = "-----BEGIN CERTIFICATE-----MIIC3DCCAkWgAwIBAgIJAPLZlUwceaH4MA0GCSqGSIb3DQEBBQUAMIGGMQswCQYDVQQGEwJJTjEQMA4GA1UECAwHZ3VyZ2FvbjEQMA4GA1UEBwwHaGFyeWFuYTEOMAwGA1UECgwFY2llbmExEjAQBgNVBAsMCXRyYW5zcG9ydDEOMAwGA1UEAwwFQ2llbmExHzAdBgkqhkiG9w0BCQEWEHNoaWtoYUBjaWVuYS5jb20wHhcNMTYwNTA0MDcxMjM4WhcNMTYxMjMwMDcxMjM4WjCBhjELMAkGA1UEBhMCSU4xEDAOBgNVBAgMB2d1cmdhb24xEDAOBgNVBAcMB2hhcnlhbmExDjAMBgNVBAoMBWNpZW5hMRIwEAYDVQQLDAl0cmFuc3BvcnQxDjAMBgNVBAMMBUNpZW5hMR8wHQYJKoZIhvcNAQkBFhBzaGlraGFAY2llbmEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY+O4RMx7A/vpX5FZ/+nB/hlZzVNrWzShFilHayHRWsstkMIqRI+9EWPG598PMwTwGGVOZYGLUJugnbqVnBwP7PQJdCxiYps9y6ZoF0XgvzsVZfuuSOIPdEzAJ4zPs3PjeLBjQH+hO3csG75vs9dbAlYHNPYvHM2GYiTAQtNhuWQIDAQABo1AwTjAdBgNVHQ4EFgQU4D+Gys71kQ2GVMxqIdcTCLXX8UQwHwYDVR0jBBgwFoAU4D+Gys71kQ2GVMxqIdcTCLXX8UQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQB7hZhkvOPBbINEmZj7cBiyba3WwVj1ovVn5VZNfw14kD3ph9tqQw9MkV4IJYVIz7puOAOjF2wzqwFT3FASrGK4gREAKtOgK+9oc6wzqU5izP/hZbm9PxQaDO5eS1nSh/WrBjiSUvCYGW7FDDdhIqHptANoiiUbUFUUj4Zanl42ng==-----END CERTIFICATE-----";
const char test_server1_key[] = "-----BEGIN ENCRYPTED PRIVATE KEY-----MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIuZeYGUzvC+kCAggAMBQGCCqGSIb3DQMHBAhJ8kq6pzpYRASCAoBOXZ/h21D984+F8Mb4X8fwxPH76BV0BZH5KKNASPn2fdKax7GpNDioAmvDIPiDgSDwWzG6D/OMrFyXYWDH7JVYWHE5biUqW0lVemcTmWkjGlqYTKt8rA2zkl6BqpOZak04oA+CrTouXtYIC5i2ct7WwRb667HQLzWpvdVFbdqE0RWbXJ2z9fIz9vViJjkKOzEj5ymh8khk5Pm+aw1bDC9zr+1+qJpfzqSlQuCT/JFwHNCWikDxIiiantetCFuiRGzbp58yHcaWSFggzIs2Xl5Gi3sUGOWiq3zdDLHyZb6gE8Tvi54LT4Y39dTwc7Op0G3RIr3uar97wjXS59mGBPhxSDSJQgS49C6T5nQPPa37ygS6WDXp8x+X14LDToHIy7QWQBCnXX8y47KLjTP0dl8dzgv8TNGZh85oDA4nQNCHrcYxwHvbQOT+72nqbvq6lytE5jFilwx0njz//0rh+jvCpGxXfGar1jjJHfY1RjteGGdmJa6lGgZOQN/jKgKDnyTH5DLeABdDywzGMgXu/E5q++hcpOLKeKp+OVJqz5N4EradUHOSd82hgx5jUb3dZHWaH/GZOp09GZ02C9T4cvMvr105NXVpmRWOtIu6LvPPm6wi7Ai231md1+C/qdvRMfm2NuvlE02hXMT2/699XyQI7uqjou3dusEQRWjOXBclmrlL3kYGj3RG1ehQH3SLUWCzu6RUYrdlXHTkbu/ST9DWUmXKug/IZVBV5+s3CdNBZEv7DJrd7pM8WUIfBMpEaWjJGt1ZfZiHi8Ev3/WKAKE60RQ7S4u1f6mKq/7wSbOXLeSLKafAyLUdpTs/6vDvs4KTsBi060g8uZsWrl9UUdNI-----END ENCRYPTED PRIVATE KEY-----";