Skip to content

Commit

Permalink
Feature/SK-895 | Use the system's default cert store (#711)
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanhellander authored Sep 27, 2024
1 parent 3477114 commit 9e675b2
Showing 1 changed file with 2 additions and 21 deletions.
23 changes: 2 additions & 21 deletions fedn/network/clients/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import os
import queue
import re
import socket
import sys
import threading
import time
Expand All @@ -13,9 +12,7 @@

import grpc
import requests
from cryptography.hazmat.primitives.serialization import Encoding
from google.protobuf.json_format import MessageToJson
from OpenSSL import SSL
from tenacity import retry, stop_after_attempt

import fedn.network.grpc.fedn_pb2 as fedn
Expand Down Expand Up @@ -162,20 +159,6 @@ def _add_grpc_metadata(self, key, value):
# Set metadata using tuple concatenation
self.metadata += ((key, value),)

def _get_ssl_certificate(self, domain, port=443):
context = SSL.Context(SSL.SSLv23_METHOD)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((domain, port))
ssl_sock = SSL.Connection(context, sock)
ssl_sock.set_tlsext_host_name(domain.encode())
ssl_sock.set_connect_state()
ssl_sock.do_handshake()
cert = ssl_sock.get_peer_certificate()
ssl_sock.close()
sock.close()
cert = cert.to_cryptography().public_bytes(Encoding.PEM).decode()
return cert

def connect(self, combiner_config):
"""Connect to combiner.
Expand Down Expand Up @@ -207,10 +190,8 @@ def connect(self, combiner_config):
channel = grpc.secure_channel("{}:{}".format(host, str(port)), credentials)
elif self.config["secure"]:
secure = True
logger.info("Using CA certificate for GRPC channel.")
cert = self._get_ssl_certificate(host, port=port)

credentials = grpc.ssl_channel_credentials(cert.encode("utf-8"))
logger.info("Using default location for root certificates.")
credentials = grpc.ssl_channel_credentials()
if self.config["token"]:
token = self.config["token"]
auth_creds = grpc.metadata_call_credentials(GrpcAuth(token))
Expand Down

0 comments on commit 9e675b2

Please sign in to comment.