<!doctype html>
<!--
  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
  Free for personal and commercial use under the MIT license
  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>Using TLS for Communication - Apache ServiceComb</title>




<meta name="description" content="Using TLS for Communication">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="Using TLS for Communication">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/docs/users/use-tls/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/docs/users/use-tls/">



  <meta property="og:description" content="Using TLS for Communication">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Using TLS for Communication">
  <meta name="twitter:description" content="Using TLS for Communication">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  












  <script type="application/ld+json">
    {
      "@context" : "http://schema.org",
      "@type" : "Person",
      "name" : "Apache ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "sameAs" : null
    }
  </script>



  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />




<!-- end SEO -->


<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">

<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>
  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="/assets/vendor/prism/prism.js"></script>

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css?v=1">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css?v=1">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.loli.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
<script src="/assets/js/custom.js"></script>
<!-- end custom head snippets -->

  </head>

  <body class="layout--single">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a class="active" href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show-en" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">Getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/contributing">Community</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/docs/users/use-tls/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > Using TLS for Communication</div>
      
  
  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
      <li>
        
          <span class="nav__sub-title">Java Chassis User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/java-chassis/en_US/index.html" class="">1.2.1</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/saga/en_US/index.html" class="">0.5.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">ServiceCenter User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/service-center/en_US/index.html" class="">1.2.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/kie/0.1.0/index.html" class="">0.1.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/mesher/1.6.3/index.html" class="">1.6.3</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="Using TLS for Communication">
    <meta itemprop="description" content="Using TLS for Communication">
    
    <meta itemprop="dateModified" content="August 15, 2017">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">Using TLS for Communication
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <h2 id="scenario">Scenario</h2>

<p>Users can use simple configurations to enable TLS communication to ensure data transmission security.</p>

<h2 id="external-service-communication-configuration">External Service Communication Configuration</h2>

<p>The configuration related to external service  communication is set in the microservice.yaml file.</p>

<ul>
  <li>
    <p>TLS communication configuration of the service center and configuration center
 The connection between the microservice and the service and configuration centers can be changed from HTTP to HTTPS, enabling TLS communication. The configuration example is as below:</p>

    <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">service</span><span class="pi">:</span>
     <span class="na">registry</span><span class="pi">:</span>
       <span class="na">address</span><span class="pi">:</span> <span class="s">https://127.0.0.1:30100</span>
</code></pre></div>    </div>
  </li>
  <li>
    <p>TLS communication enabled by the service provider
 When configuring the service listening address, the service provider can add<code class="highlighter-rouge">?sslEnabled=true</code> to the end of the address to enable TLS communication. For example:</p>

    <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">rest</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080?sslEnabled=true</span>
   <span class="na">highway</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:7070?sslEnabled=true</span>
</code></pre></div>    </div>
  </li>
</ul>

<h2 id="configure-a-certificate">Configure a Certificate</h2>

<p>The certificate configuration items are set in the microservice.yaml file. You can customize certificates in a unified manner or add tags for configuration in a small granularity. The tag configuration overwrites the global configuration, and the configuration format is as follows:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="s">ssl.[tag].[property]</span>
</code></pre></div></div>

<p>For details about the certificate configuration items, see Table 1.</p>

<p><strong>Table 1 Certificate configuration items</strong></p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Configuration Item</th>
      <th style="text-align: left">Default Value</th>
      <th style="text-align: left">Value Range</th>
      <th style="text-align: left">Mandatory</th>
      <th style="text-align: left">Description</th>
      <th style="text-align: left">Remarks</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">ssl.protocols</td>
      <td style="text-align: left">TLSv1.2</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the protocol list.</td>
      <td style="text-align: left">Use commas (,) to separate protocols.</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.ciphers</td>
      <td style="text-align: left">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_GCM_SHA256</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the algorithm list</td>
      <td style="text-align: left">Use commas (,) to separate protocols.</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.authPeer</td>
      <td style="text-align: left">true</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies whether auhentication is required for the peer end.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.checkCN.host</td>
      <td style="text-align: left">true</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Whether the CN of the certificate is checked</td>
      <td style="text-align: left">This configuration item is available and valid only for consumers using the HTTP protocol (the rest channel). This parameter is invalid for providers and highway channels. The purpose of checking CN is to protect the server from phishing attacks. For details, see the following standard:<a href="https://tools.ietf.org/html/rfc2818。">https://tools.ietf.org/html/rfc2818。</a></td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.trustStore</td>
      <td style="text-align: left">trust.jks</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the trust certificate file.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.trustStoreType</td>
      <td style="text-align: left">JKS</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the type of trust certificate</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.trustStoreValue</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the password of the  trust certificate file.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.keyStore</td>
      <td style="text-align: left">server.p12</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the identity certificate file.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.keyStoreType</td>
      <td style="text-align: left">PKCS12</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the type of identity certificate.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.keyStoreValue</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the password of identity certificate.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.crl</td>
      <td style="text-align: left">revoke.crl</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the certificate revocation list(CRL) file.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl.sslCustomClass</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">org.apache.servicecomb.foundation.ssl.SSLCustom implementation</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies implementation of the SSLCustom class, which is used by developers to convert passwords and file paths.</td>
      <td style="text-align: left">-</td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p><strong>NOTE:</strong></p>

  <ul>
    <li>The default protocol algorithm is high-strength algorithm. The JDK needs to be installed together withe the corresponding policy file. For details, visit <a href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a>. You can configure a non-high-strength algorithm in the configuration file.</li>
    <li>The microservice consumers can specify certificates for different providers. (The current certificate is issued by HOST. Different providers use a certificate storage medium, which is used by the service center and configuration center).</li>
  </ul>
</blockquote>

<h2 id="certificate-configuration-in-the-service-center">Certificate Configuration in the Service Center</h2>

<p>Currently, the TLS authentication mode of the service center can be configured using environment variables. By default, TLS communication and bidirectional authentication are enables. During peer end authentication, whether the peer end matches the CommonName field of the certificate is checked. For details about the certificate configuration items in the service center, see table 2.</p>

<p><strong>Table 2 Configuration file of the service center</strong></p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Configuration Item</th>
      <th style="text-align: left">Default Value</th>
      <th style="text-align: left">Value Range</th>
      <th style="text-align: left">Mandatory</th>
      <th style="text-align: left">Description</th>
      <th style="text-align: left">Remarks</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">CSE_SSL_MODE</td>
      <td style="text-align: left">1</td>
      <td style="text-align: left">1/0<br />0:HTTPS<br />1:HTTP</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Set the protocol mode.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">CSE_SSL_VERIFY_CLIENT</td>
      <td style="text-align: left">1</td>
      <td style="text-align: left">1/0<br />0:HTTPS<br />1:HTTP</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Set whether the peer end is authenticated in HTTPS mode</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">CSE_SSL_PASSPHASE</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Set the password for the certificate key in HTTPS mode</td>
      <td style="text-align: left">-</td>
    </tr>
  </tbody>
</table>

<p>The configuration file of the service center is$APP_ROOT/conf/app.conf. For details about the configuration item, see table 3. This configuration does not support the settings of environment variables.</p>

<p>Table 3 Configuration file of the service center</p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Configuration Items</th>
      <th style="text-align: left">Default Value</th>
      <th style="text-align: left">Value Range</th>
      <th style="text-align: left">Mandatory</th>
      <th style="text-align: left">Description</th>
      <th style="text-align: left">Remarks</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">ssl_protocols</td>
      <td style="text-align: left">TLSv1.2</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the SSL version used for communication.</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">ssl_ciphers</td>
      <td style="text-align: left">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_CBC_SHA</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">No</td>
      <td style="text-align: left">Specifies the algorithms list used to configuration</td>
      <td style="text-align: left">ssl_cipher must be configured with the TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 algorithm, because th eservice center supports the HTTP/2 protocal. TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_128_CBC_SHA are listd in the insecure algorithm blacklist of the HTTP/2 protocol, but they need to be configured to the last bit of ssl_ciphers to ensure compatibility of the client algorithm.</td>
    </tr>
  </tbody>
</table>

<h2 id="path-for-storing-key-materials-and-certificates">Path for Storing Key Materials and Certificates</h2>

<p><strong>Table 4 Path for storing key materials and certificate</strong></p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Configuration Items</th>
      <th style="text-align: left">Description</th>
      <th style="text-align: left">Environment Variable</th>
      <th style="text-align: left">Remarks</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">/</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">INSTALL_ROOT</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/cipher</td>
      <td style="text-align: left">Specifies the directory for storing key materials</td>
      <td style="text-align: left">CIPHER_ROOT</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/ssl</td>
      <td style="text-align: left">Specifies the directory for storing certificates.</td>
      <td style="text-align: left">SSL_ROOT</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/ssl/trust.cer</td>
      <td style="text-align: left">Specifies the trusted CA.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/ssl/server_key.pem</td>
      <td style="text-align: left">Specifies the private key file on the encrypted server.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/ssl/server.cer</td>
      <td style="text-align: left">Specifies the server certificate.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/etc/ssl/cert_pwd</td>
      <td style="text-align: left">Specifies the symmetric ciphertext file used  to store the decrypted private key.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/apps</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/apps/ServiceCenter</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">APP_ROOT</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/apps/ServiceCenter/conf</td>
      <td style="text-align: left">Specifies the configuration file directory of the service center.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
    <tr>
      <td style="text-align: left">/opt/CSE/apps/ServiceCenter/conf/app.conf</td>
      <td style="text-align: left">Specifies the application configuration file.</td>
      <td style="text-align: left">-</td>
      <td style="text-align: left">-</td>
    </tr>
  </tbody>
</table>

<h2 id="sample-code">Sample Code</h2>

<p>The configuration example of enabling the TLS communication in the microservicce.yaml file is as follows:</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">servicecomb</span><span class="pi">:</span>
  <span class="na">service</span><span class="pi">:</span>
    <span class="na">registry</span><span class="pi">:</span>
      <span class="na">address</span><span class="pi">:</span> <span class="s">https://127.0.0.1:30100</span>
  <span class="na">rest</span><span class="pi">:</span>
    <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080?sslEnabled=true</span>
  <span class="na">highway</span><span class="pi">:</span>
    <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:7070?sslEnabled=true</span>

<span class="c1">#########SSL options</span>
<span class="s">ssl.protocols</span><span class="pi">:</span> <span class="s">TLSv1.2</span>
<span class="s">ssl.authPeer</span><span class="pi">:</span> <span class="no">true</span>
<span class="s">ssl.checkCN.host</span><span class="pi">:</span> <span class="no">true</span>

<span class="c1">#########certificates config</span>
<span class="s">ssl.trustStore</span><span class="pi">:</span> <span class="s">trust.jks</span>
<span class="s">ssl.trustStoreType</span><span class="pi">:</span> <span class="s">JKS</span>
<span class="s">ssl.trustStoreValue</span><span class="pi">:</span> <span class="s">Changeme_123</span>
<span class="s">ssl.keyStore</span><span class="pi">:</span> <span class="s">server.p12</span>
<span class="s">ssl.keyStoreType</span><span class="pi">:</span> <span class="s">PKCS12</span>
<span class="s">ssl.keyStoreValue</span><span class="pi">:</span> <span class="s">Changeme_123</span>
<span class="s">ssl.crl</span><span class="pi">:</span> <span class="s">revoke.crl</span>
<span class="s">ssl.sslCustomClass</span><span class="pi">:</span> <span class="s">org.apache.servicecomb.demo.DemoSSLCustom</span>
</code></pre></div></div>

        
      </section>

      <footer class="page__meta">
        
        


        
      </footer>

      

      

    </div>

    
  </article>

  
  
</div>


    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <div align="center" style="margin: 0 0;">
    <ins class="adsbygoogle"
         style="display:block; border-bottom: initial;"
         data-ad-client="ca-pub-7328585512091257"
         data-ad-slot="3049671934"
         data-ad-format="auto"></ins>
    </div>

    <div class="page__footer">
      <footer>
        <!-- start custom footer snippets -->

<!-- end custom footer snippets -->

        <div class="container">
  <div class="row justify-content-md-center">
    
    <div class="col">
      <ul>
        <p class="header">Resources</p>
        <li><a href="/docs/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">User Guide</a></li>
        <li><a href="/slides/">Slides</a></li>
        <li><a href="/users/faq/">Common Questions</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_users/use-tls.md">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
        </li>
        <li>
            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
        </li>
        <li>
            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
        </li>
      </ul>
    </div>
  </div>
</div>
<div class="page__footer-bottom">
  <div>&copy; 2020 Apache ServiceComb. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>

      </footer>
    </div>

    <script src="/assets/js/main.min.js"></script>




  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-101622733-1', 'auto');
  ga('send', 'pageview');
</script>







  </body>
</html>
