﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.5/dotnetdoc/api/Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.html" />

<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class KeystoreEncryptionSpi
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class KeystoreEncryptionSpi
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<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-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi">
  
  
  <h1 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi" class="text-break">Class KeystoreEncryptionSpi
  </h1>
  <div class="markdown level0 summary"><p>IEncryptionSPI implementation base on JDK provided cipher algorithm implementations.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">KeystoreEncryptionSpi</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="Apache.Ignite.Core.Encryption.IEncryptionSpi.html">IEncryptionSpi</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Encryption.Keystore.html">Apache.Ignite.Core.Encryption.Keystore</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class KeystoreEncryptionSpi : IEncryptionSpi</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi__ctor_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi__ctor" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.#ctor">KeystoreEncryptionSpi()</h4>
  <div class="markdown level1 summary"><p>Empty constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public KeystoreEncryptionSpi()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi__ctor_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi__ctor_Apache_Ignite_Core_Binary_IBinaryRawReader_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.#ctor(Apache.Ignite.Core.Binary.IBinaryRawReader)">KeystoreEncryptionSpi(IBinaryRawReader)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.html">KeystoreEncryptionSpi</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public KeystoreEncryptionSpi(IBinaryRawReader reader)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a></td>
        <td><span class="parametername">reader</span></td>
        <td><p>The reader.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_DefaultKeySize" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.DefaultKeySize">DefaultKeySize</h4>
  <div class="markdown level1 summary"><p>Default encryption key size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultKeySize = 256</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_DefaultMasterKeyName" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.DefaultMasterKeyName">DefaultMasterKeyName</h4>
  <div class="markdown level1 summary"><p>Default master key name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const string DefaultMasterKeyName = &quot;ignite.master.key&quot;</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeySize_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeySize*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeySize" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeySize">KeySize</h4>
  <div class="markdown level1 summary"><p>Size of encryption key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int KeySize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeyStorePassword_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeyStorePassword*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeyStorePassword" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeyStorePassword">KeyStorePassword</h4>
  <div class="markdown level1 summary"><p>Key store password.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string KeyStorePassword { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeyStorePath_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeyStorePath*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_KeyStorePath" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.KeyStorePath">KeyStorePath</h4>
  <div class="markdown level1 summary"><p>Path to key store.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string KeyStorePath { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_MasterKeyName_" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.MasterKeyName*"></a>
  <h4 id="Apache_Ignite_Core_Encryption_Keystore_KeystoreEncryptionSpi_MasterKeyName" data-uid="Apache.Ignite.Core.Encryption.Keystore.KeystoreEncryptionSpi.MasterKeyName">MasterKeyName</h4>
  <div class="markdown level1 summary"><p>Name of master key in key store.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string MasterKeyName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="Apache.Ignite.Core.Encryption.IEncryptionSpi.html">IEncryptionSpi</a>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2018 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
