diff options
author | 2015-01-21 13:48:14 -0800 | |
---|---|---|
committer | 2015-01-21 13:48:14 -0800 | |
commit | 85eea08ba8109dc9bd2b798146a5140342505f77 (patch) | |
tree | 8a33956a1cb59f341ccad15354892f6fa3a2b309 /src/cpp/server/server_credentials.cc | |
parent | 7e3d7120ba2b9fb7f3e58c8d6e506c68abf650c6 (diff) | |
parent | 073d7b6cd9963378f69a087d935d4157b3068a4b (diff) |
Merge pull request #141 from jboeuf/ssl_server_creds_integration
Changing the SSL (Server) Credentials API.
Diffstat (limited to 'src/cpp/server/server_credentials.cc')
-rw-r--r-- | src/cpp/server/server_credentials.cc | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/cpp/server/server_credentials.cc b/src/cpp/server/server_credentials.cc index b82a2d821a..ce0271b6a0 100644 --- a/src/cpp/server/server_credentials.cc +++ b/src/cpp/server/server_credentials.cc @@ -48,23 +48,14 @@ grpc_server_credentials *ServerCredentials::GetRawCreds() { return creds_; } std::shared_ptr<ServerCredentials> ServerCredentialsFactory::SslCredentials( const SslServerCredentialsOptions &options) { - const unsigned char *pem_root_certs = - options.pem_root_certs.empty() ? nullptr - : reinterpret_cast<const unsigned char *>( - options.pem_root_certs.c_str()); - const unsigned char *pem_private_key = - options.pem_private_key.empty() ? nullptr - : reinterpret_cast<const unsigned char *>( - options.pem_private_key.c_str()); - const unsigned char *pem_cert_chain = - options.pem_cert_chain.empty() ? nullptr - : reinterpret_cast<const unsigned char *>( - options.pem_cert_chain.c_str()); - + std::vector<grpc_ssl_pem_key_cert_pair> pem_key_cert_pairs; + for (const auto &key_cert_pair : options.pem_key_cert_pairs) { + pem_key_cert_pairs.push_back( + {key_cert_pair.private_key.c_str(), key_cert_pair.cert_chain.c_str()}); + } grpc_server_credentials *c_creds = grpc_ssl_server_credentials_create( - pem_root_certs, options.pem_root_certs.size(), pem_private_key, - options.pem_private_key.size(), pem_cert_chain, - options.pem_cert_chain.size()); + options.pem_root_certs.empty() ? nullptr : options.pem_root_certs.c_str(), + &pem_key_cert_pairs[0], pem_key_cert_pairs.size()); return std::shared_ptr<ServerCredentials>(new ServerCredentials(c_creds)); } |