diff --git a/xos/grpc/grpc_client.py b/xos/grpc/grpc_client.py
index db5745f..52f7f90 100644
--- a/xos/grpc/grpc_client.py
+++ b/xos/grpc/grpc_client.py
@@ -6,6 +6,8 @@
 from google.protobuf.empty_pb2 import Empty
 from grpc import metadata_call_credentials, ChannelCredentials, composite_channel_credentials, ssl_channel_credentials
 
+SERVER_CA="/usr/local/share/ca-certificates/local_certs.crt"
+
 class UsernamePasswordCallCredentials(grpc.AuthMetadataPlugin):
   """Metadata wrapper for raw access token credentials."""
   def __init__(self, username, password):
@@ -28,7 +30,7 @@
         self.stub = xos_pb2_grpc.xosStub(self.channel)
 
 class SecureClient(XOSClient):
-    def __init__(self, hostname, port=50051, cacert="certs/ca.crt", username=None, password=None):
+    def __init__(self, hostname, port=50051, cacert=SERVER_CA, username=None, password=None):
         super(SecureClient,self).__init__(hostname, port)
 
         server_ca = open(cacert,"r").read()
diff --git a/xos/grpc/grpc_server.py b/xos/grpc/grpc_server.py
index 278c0be..ec7cc9e 100644
--- a/xos/grpc/grpc_server.py
+++ b/xos/grpc/grpc_server.py
@@ -36,6 +36,14 @@
 from xos.logger import Logger, logging
 logger = Logger(level=logging.INFO)
 
+SERVER_KEY="/root/setup/core_api_key.pem"
+SERVER_CERT="/root/setup/core_api_cert.pem"
+SERVER_CA="/usr/local/share/ca-certificates/local_certs.crt"
+
+#SERVER_KEY="certs/server.key"
+#SERVER_CERT="certs/server.crt"
+#SERVER_CA="certs/ca.crt"
+
 class SchemaService(schema_pb2.SchemaServiceServicer):
 
     def __init__(self, thread_pool):
@@ -93,9 +101,9 @@
         self.thread_pool = futures.ThreadPoolExecutor(max_workers=10)
         self.server = grpc.server(self.thread_pool)
 
-        server_key = open("certs/server.key","r").read()
-        server_cert = open("certs/server.crt","r").read()
-        server_ca = open("certs/ca.crt","r").read()
+        server_key = open(SERVER_KEY,"r").read()
+        server_cert = open(SERVER_CERT,"r").read()
+        server_ca = open(SERVER_CA,"r").read()
 
         self.credentials = grpc.ssl_server_credentials([(server_key, server_cert)], server_ca, False)
 
diff --git a/xos/grpc/start_grpc_server.sh b/xos/grpc/start_grpc_server.sh
index d5b2e6f..382be12 100755
--- a/xos/grpc/start_grpc_server.sh
+++ b/xos/grpc/start_grpc_server.sh
@@ -2,8 +2,5 @@
 make rebuild-protos
 make
 cd ..
-cd certs
-make
-cd ..
 source env.sh
 python ./grpc_server.py
