Skip to content

[EXPORTER] OTLP GRPC mTLS support #1785

@konicasaini

Description

@konicasaini

Is your feature request related to a problem?
Wanted to setup mtls connection between opentelemetry collector and opentelemetry-cpp client.

But was receiving error like

E1116 16:33:08.044460991 1642002 ssl_transport_security.cc:555] Corruption detected.
E1116 16:33:08.044507949 1642002 ssl_transport_security.cc:531] error:10000412:SSL routines:OPENSSL_internal:SSLV3_ALERT_BAD_CERTIFICATE
E1116 16:33:08.044518471 1642002 secure_endpoint.cc:306]     Decryption error: TSI_DATA_CORRUPTED
E1116 16:33:08.048551622 1642002 ssl_transport_security.cc:555] Corruption detected.
E1116 16:33:08.048570967 1642002 ssl_transport_security.cc:531] error:10000412:SSL routines:OPENSSL_internal:SSLV3_ALERT_BAD_CERTIFICATE
E1116 16:33:08.048579525 1642002 secure_endpoint.cc:306]     Decryption error: TSI_DATA_CORRUPTED

Upon research found out there is no mtls support from opentelemetry-cpp client side to enable connection with otel collector.

Steps to reproduce Issue
otel config should be:

receivers:
  otlp:
    protocols:
      grpc:
        tls:
          client_ca_file: "path to client.pem"
          cert_file: "path to server.crt"
          key_file: "path to server.key"
processors:
  batch:

exporters:
  logging:
    logLevel: debug

service:
  pipelines:
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging]

    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging]

    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging]

Run Client as following:

<path_to_dir>/opentelemetry-cpp/build/examples/otlp$ ./example_otlp_grpc localhost:4317 <path_to_ca_cert>

Please enable mTLS support on opentelemetry-cpp client side.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions