Skip to content

Commit

Permalink
Add ForCA to cert request to request for CA certs. (istio#2949)
Browse files Browse the repository at this point in the history
Oliver Liu authored Jan 30, 2018
1 parent 5cef00a commit 2d9d48e
Showing 4 changed files with 69 additions and 30 deletions.
1 change: 1 addition & 0 deletions security/cmd/node_agent/na/nodeagent.go
Original file line number Diff line number Diff line change
@@ -136,5 +136,6 @@ func (na *nodeAgentInternal) createRequest() ([]byte, *pb.CsrRequest, error) {
NodeAgentCredential: cred,
CredentialType: na.pc.GetCredentialType(),
RequestedTtlMinutes: int32(na.config.WorkloadCertTTL.Minutes()),
ForCA: false,
}, nil
}
3 changes: 1 addition & 2 deletions security/pkg/server/grpc/server.go
Original file line number Diff line number Diff line change
@@ -78,8 +78,7 @@ func (s *Server) HandleCSR(ctx context.Context, request *pb.CsrRequest) (*pb.Csr
return nil, status.Errorf(codes.PermissionDenied, "request is not authorized (%v)", err)
}

// TODO(myidpt): Support signing CSR for Istio CA.
cert, err := s.ca.Sign(request.CsrPem, time.Duration(request.RequestedTtlMinutes)*time.Minute, false)
cert, err := s.ca.Sign(request.CsrPem, time.Duration(request.RequestedTtlMinutes)*time.Minute, request.ForCA)
if err != nil {
log.Errorf("CSR signing error (%v)", err)
return nil, status.Errorf(codes.Internal, "CSR signing error (%v)", err)
93 changes: 65 additions & 28 deletions security/proto/ca_service.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions security/proto/ca_service.proto
Original file line number Diff line number Diff line change
@@ -46,6 +46,8 @@ message CsrRequest {
string credential_type = 3;
// the requested ttl of the certificate in minutes
int32 requested_ttl_minutes = 4;
// whether the certificate is for a CA
bool forCA = 5;
}

message CsrResponse {

0 comments on commit 2d9d48e

Please sign in to comment.