/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * These .proto interfaces are private and unstable. * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *unstable* .proto interface. */ option java_package = "org.apache.hadoop.hdds.protocol.proto"; option java_outer_classname = "SCMSecurityProtocolProtos"; option java_generic_services = true; option java_generate_equals_and_hash = true; package hadoop.hdds; import "hdds.proto"; /** * This message is send by data node to prove its identity and get an SCM * signed certificate. */ message SCMGetDataNodeCertRequestProto { required DatanodeDetailsProto datanodeDetails = 1; required string CSR = 2; } /** * This message is send by OzoneManager to prove its identity and get an SCM * signed certificate. */ message SCMGetOMCertRequestProto { required OzoneManagerDetailsProto omDetails = 1; required string CSR = 2; } /** * Proto request to get a certificate with given serial id. */ message SCMGetCertificateRequestProto { required string certSerialId = 1; } /** * Proto request to get CA certificate. */ message SCMGetCACertificateRequestProto { } /** * Returns a certificate signed by SCM. */ message SCMGetCertResponseProto { enum ResponseCode { success = 1; authenticationFailed = 2; invalidCSR = 3; } required ResponseCode responseCode = 1; required string x509Certificate = 2; // Base64 encoded X509 certificate. optional string x509CACertificate = 3; // Base64 encoded CA X509 certificate. } service SCMSecurityProtocolService { /** * Get SCM signed certificate for DataNode. */ rpc getDataNodeCertificate (SCMGetDataNodeCertRequestProto) returns (SCMGetCertResponseProto); /** * Get SCM signed certificate for DataNode. */ rpc getOMCertificate (SCMGetOMCertRequestProto) returns (SCMGetCertResponseProto); /** * Get SCM signed certificate for DataNode. */ rpc getCertificate (SCMGetCertificateRequestProto) returns (SCMGetCertResponseProto); /** * Get SCM signed certificate for DataNode. */ rpc getCACertificate (SCMGetCACertificateRequestProto) returns (SCMGetCertResponseProto); }