GRPC Core  10.0.0
grpc_security_constants.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPC_GRPC_SECURITY_CONSTANTS_H
20 #define GRPC_GRPC_SECURITY_CONSTANTS_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME "transport_security_type"
27 #define GRPC_SSL_TRANSPORT_SECURITY_TYPE "ssl"
28 
29 #define GRPC_X509_CN_PROPERTY_NAME "x509_common_name"
30 #define GRPC_X509_SAN_PROPERTY_NAME "x509_subject_alternative_name"
31 #define GRPC_X509_PEM_CERT_PROPERTY_NAME "x509_pem_cert"
32 #define GRPC_X509_PEM_CERT_CHAIN_PROPERTY_NAME "x509_pem_cert_chain"
33 #define GRPC_SSL_SESSION_REUSED_PROPERTY "ssl_session_reused"
34 #define GRPC_TRANSPORT_SECURITY_LEVEL_PROPERTY_NAME "security_level"
35 #define GRPC_PEER_SPIFFE_ID_PROPERTY_NAME "peer_spiffe_id"
36 
40 #define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR \
41  "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
42 
46 #define GRPC_GOOGLE_CREDENTIALS_ENV_VAR "GOOGLE_APPLICATION_CREDENTIALS"
47 
49 typedef enum {
54 
56 typedef enum {
61 
62 typedef enum {
110 
111 /* Security levels of grpc transport security. It represents an inherent
112  * property of a backend connection and is determined by a channel credential
113  * used to create the connection. */
114 typedef enum {
121 
122 typedef enum {
135 
140 typedef enum { UDS = 0, LOCAL_TCP } grpc_local_connect_type;
141 
142 #ifdef __cplusplus
143 }
144 #endif
145 
146 #endif /* GRPC_GRPC_SECURITY_CONSTANTS_H */
GRPC_SECURITY_MIN
Definition: grpc_security_constants.h:115
grpc_ssl_certificate_config_reload_status
grpc_ssl_certificate_config_reload_status
Callback results for dynamically loading a SSL certificate config.
Definition: grpc_security_constants.h:56
GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY
Server requests client certificate but does not enforce that the client presents a certificate.
Definition: grpc_security_constants.h:88
GRPC_TLS_SKIP_HOSTNAME_VERIFICATION
Performs server certificate verification, but skips hostname verification Client is responsible for v...
Definition: grpc_security_constants.h:129
LOCAL_TCP
Definition: grpc_security_constants.h:140
GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY
Server requests client certificate but does not enforce that the client presents a certificate.
Definition: grpc_security_constants.h:77
GRPC_SECURITY_NONE
Definition: grpc_security_constants.h:116
GRPC_SSL_ROOTS_OVERRIDE_FAIL
Do not try fallback options.
Definition: grpc_security_constants.h:52
GRPC_SSL_CERTIFICATE_CONFIG_RELOAD_UNCHANGED
Definition: grpc_security_constants.h:57
GRPC_SSL_CERTIFICATE_CONFIG_RELOAD_NEW
Definition: grpc_security_constants.h:58
grpc_ssl_roots_override_result
grpc_ssl_roots_override_result
Results for the SSL roots override callback.
Definition: grpc_security_constants.h:49
GRPC_SSL_ROOTS_OVERRIDE_OK
Definition: grpc_security_constants.h:50
GRPC_SSL_CERTIFICATE_CONFIG_RELOAD_FAIL
Definition: grpc_security_constants.h:59
grpc_ssl_client_certificate_request_type
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:62
GRPC_INTEGRITY_ONLY
Definition: grpc_security_constants.h:117
grpc_tls_server_verification_option
grpc_tls_server_verification_option
Definition: grpc_security_constants.h:122
UDS
Definition: grpc_security_constants.h:140
grpc_security_level
grpc_security_level
Definition: grpc_security_constants.h:114
GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY
Server requests client certificate and enforces that the client presents a certificate.
Definition: grpc_security_constants.h:98
GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE
Server does not request client certificate.
Definition: grpc_security_constants.h:67
GRPC_TLS_SERVER_VERIFICATION
Default option: performs server certificate verification and hostname verification.
Definition: grpc_security_constants.h:125
GRPC_PRIVACY_AND_INTEGRITY
Definition: grpc_security_constants.h:118
GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY
Server requests client certificate and enforces that the client presents a certificate.
Definition: grpc_security_constants.h:108
GRPC_TLS_SKIP_ALL_SERVER_VERIFICATION
Skips both server certificate and hostname verification.
Definition: grpc_security_constants.h:133
GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY
Definition: grpc_security_constants.h:51
grpc_local_connect_type
grpc_local_connect_type
Type of local connections for which local channel/server credentials will be applied.
Definition: grpc_security_constants.h:140
GRPC_SECURITY_MAX
Definition: grpc_security_constants.h:119