Merge pull request #22873 from jiangtaoli2016/tls_cred_options
TlsCredentialsOption API optimization
This commit is contained in:
commit
df7ed0744d
|
|
@ -19,14 +19,14 @@
|
|||
#ifndef GRPCPP_SECURITY_TLS_CREDENTIALS_OPTIONS_H
|
||||
#define GRPCPP_SECURITY_TLS_CREDENTIALS_OPTIONS_H
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include <grpc/grpc_security_constants.h>
|
||||
#include <grpc/status.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpcpp/support/config.h>
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
typedef struct grpc_tls_credential_reload_arg grpc_tls_credential_reload_arg;
|
||||
typedef struct grpc_tls_credential_reload_config
|
||||
grpc_tls_credential_reload_config;
|
||||
|
|
@ -278,6 +278,21 @@ class TlsServerAuthorizationCheckConfig {
|
|||
* more details. **/
|
||||
class TlsCredentialsOptions {
|
||||
public:
|
||||
// Constructor for client.
|
||||
explicit TlsCredentialsOptions(
|
||||
grpc_tls_server_verification_option server_verification_option,
|
||||
std::shared_ptr<TlsKeyMaterialsConfig> key_materials_config,
|
||||
std::shared_ptr<TlsCredentialReloadConfig> credential_reload_config,
|
||||
std::shared_ptr<TlsServerAuthorizationCheckConfig>
|
||||
server_authorization_check_config);
|
||||
|
||||
// Constructor for server.
|
||||
explicit TlsCredentialsOptions(
|
||||
grpc_ssl_client_certificate_request_type cert_request_type,
|
||||
std::shared_ptr<TlsKeyMaterialsConfig> key_materials_config,
|
||||
std::shared_ptr<TlsCredentialReloadConfig> credential_reload_config);
|
||||
|
||||
// This constructor will be deprecated.
|
||||
TlsCredentialsOptions(
|
||||
grpc_ssl_client_certificate_request_type cert_request_type,
|
||||
grpc_tls_server_verification_option server_verification_option,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
#include <grpcpp/security/tls_credentials_options.h>
|
||||
|
||||
#include "absl/container/inlined_vector.h"
|
||||
|
||||
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
|
||||
#include "src/cpp/common/tls_credentials_options_util.h"
|
||||
|
||||
|
|
@ -281,6 +280,25 @@ TlsServerAuthorizationCheckConfig::TlsServerAuthorizationCheckConfig(
|
|||
TlsServerAuthorizationCheckConfig::~TlsServerAuthorizationCheckConfig() {}
|
||||
|
||||
/** gRPC TLS credential options API implementation **/
|
||||
TlsCredentialsOptions::TlsCredentialsOptions(
|
||||
grpc_tls_server_verification_option server_verification_option,
|
||||
std::shared_ptr<TlsKeyMaterialsConfig> key_materials_config,
|
||||
std::shared_ptr<TlsCredentialReloadConfig> credential_reload_config,
|
||||
std::shared_ptr<TlsServerAuthorizationCheckConfig>
|
||||
server_authorization_check_config)
|
||||
: TlsCredentialsOptions(
|
||||
GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE, server_verification_option,
|
||||
std::move(key_materials_config), std::move(credential_reload_config),
|
||||
std::move(server_authorization_check_config)) {}
|
||||
|
||||
TlsCredentialsOptions::TlsCredentialsOptions(
|
||||
grpc_ssl_client_certificate_request_type cert_request_type,
|
||||
std::shared_ptr<TlsKeyMaterialsConfig> key_materials_config,
|
||||
std::shared_ptr<TlsCredentialReloadConfig> credential_reload_config)
|
||||
: TlsCredentialsOptions(cert_request_type, GRPC_TLS_SERVER_VERIFICATION,
|
||||
std::move(key_materials_config),
|
||||
std::move(credential_reload_config), nullptr) {}
|
||||
|
||||
TlsCredentialsOptions::TlsCredentialsOptions(
|
||||
grpc_ssl_client_certificate_request_type cert_request_type,
|
||||
grpc_tls_server_verification_option server_verification_option,
|
||||
|
|
|
|||
|
|
@ -16,16 +16,16 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <grpc/grpc.h>
|
||||
#include <grpcpp/security/credentials.h>
|
||||
#include <grpcpp/security/server_credentials.h>
|
||||
#include <grpcpp/security/tls_credentials_options.h>
|
||||
#include <grpcpp/server_builder.h>
|
||||
#include <memory>
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <grpc/grpc.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "src/core/lib/gpr/env.h"
|
||||
#include "src/core/lib/gpr/tmpfile.h"
|
||||
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
|
||||
|
|
@ -573,12 +573,13 @@ TEST_F(CredentialsTest, TlsCredentialsOptionsCppToC) {
|
|||
test_server_authorization_check));
|
||||
|
||||
TlsCredentialsOptions options = TlsCredentialsOptions(
|
||||
GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY,
|
||||
GRPC_TLS_SERVER_VERIFICATION, key_materials_config,
|
||||
credential_reload_config, server_authorization_check_config);
|
||||
grpc_tls_credentials_options* c_options = options.c_credentials_options();
|
||||
EXPECT_EQ(c_options->cert_request_type(),
|
||||
GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY);
|
||||
GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE);
|
||||
EXPECT_EQ(c_options->server_verification_option(),
|
||||
GRPC_TLS_SERVER_VERIFICATION);
|
||||
grpc_tls_key_materials_config* c_key_materials_config =
|
||||
c_options->key_materials_config();
|
||||
grpc_tls_credential_reload_config* c_credential_reload_config =
|
||||
|
|
@ -678,7 +679,6 @@ TEST_F(CredentialsTest, LoadTlsChannelCredentials) {
|
|||
test_server_authorization_check));
|
||||
|
||||
TlsCredentialsOptions options = TlsCredentialsOptions(
|
||||
GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY,
|
||||
GRPC_TLS_SERVER_VERIFICATION, nullptr, credential_reload_config,
|
||||
server_authorization_check_config);
|
||||
std::shared_ptr<grpc_impl::ChannelCredentials> channel_credentials =
|
||||
|
|
|
|||
Loading…
Reference in New Issue