blob: fed7472b236008ca1c53d26f0f440502f9386e29 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_261) on Mon Dec 20 14:15:51 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>KeystoreEncryptionSpi (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="KeystoreEncryptionSpi (Ignite 2.11.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KeystoreEncryptionSpi.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html" target="_top">Frames</a></li>
<li><a href="KeystoreEncryptionSpi.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.encryption.keystore</div>
<h2 title="Class KeystoreEncryptionSpi" class="title">Class KeystoreEncryptionSpi</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.encryption.keystore.KeystoreEncryptionSpi</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">KeystoreEncryptionSpi</span>
extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>
implements <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></pre>
<div class="block">EncryptionSPI implementation base on JDK provided cipher algorithm implementations.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption"><code>EncryptionSpi</code></a>,
<a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore"><code>KeystoreEncryptionKey</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#CIPHER_ALGO">CIPHER_ALGO</a></span></code>
<div class="block">Algorithm supported by implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#DEFAULT_KEY_SIZE">DEFAULT_KEY_SIZE</a></span></code>
<div class="block">Default encryption key size;</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#DEFAULT_MASTER_KEY_NAME">DEFAULT_MASTER_KEY_NAME</a></span></code>
<div class="block">Default key store entry name to store Encryption master key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#log">log</a></span></code>
<div class="block">Logger.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#igniteInstanceName">igniteInstanceName</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#KeystoreEncryptionSpi--">KeystoreEncryptionSpi</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#blockSize--">blockSize</a></span>()</code></td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#create--">create</a></span>()</code>
<div class="block">Creates new key for an encryption/decryption of cache persistent data: pages, WAL records.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#decrypt-byte:A-java.io.Serializable-">decrypt</a></span>(byte[]&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key)</code>
<div class="block">Decrypts data encrypted with <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encrypt-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-"><code>EncryptionSpi.encrypt(ByteBuffer, Serializable, ByteBuffer)</code></a></div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#decryptKey-byte:A-">decryptKey</a></span>(byte[]&nbsp;key)</code>
<div class="block">Decrypts key and checks it integrity.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#decryptKey-byte:A-java.lang.String-">decryptKey</a></span>(byte[]&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</code>
<div class="block">Decrypts key and checks its integrity using the master key specified by name.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#decryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">decryptNoPadding</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</code>
<div class="block">Decrypts data encrypted with <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-"><code>EncryptionSpi.encryptNoPadding(ByteBuffer, Serializable, ByteBuffer)</code></a></div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encrypt-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">encrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</code>
<div class="block">Encrypts data.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encryptedSize-int-">encryptedSize</a></span>(int&nbsp;dataSize)</code></td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encryptedSizeNoPadding-int-">encryptedSizeNoPadding</a></span>(int&nbsp;dataSize)</code></td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encryptKey-java.io.Serializable-">encryptKey</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key)</code>
<div class="block">Encrypts key.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encryptKey-java.io.Serializable-java.lang.String-">encryptKey</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</code>
<div class="block">Encrypts a key with the master key specified by name.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#encryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">encryptNoPadding</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</code>
<div class="block">Encrypts data without padding info.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#getKeySize--">getKeySize</a></span>()</code>
<div class="block">Gets encryption key size.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#getKeyStorePath--">getKeyStorePath</a></span>()</code>
<div class="block">Gets path to jdk keyStore that stores master key.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#getKeyStorePwd--">getKeyStorePwd</a></span>()</code>
<div class="block">Gets key store password.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#getMasterKeyName--">getMasterKeyName</a></span>()</code>
<div class="block">Gets the current master key name.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#masterKeyDigest--">masterKeyDigest</a></span>()</code>
<div class="block">Returns master key digest.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#masterKeyDigest-java.lang.String-">masterKeyDigest</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</code>
<div class="block">Returns master key digest by name.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#setKeySize-int-">setKeySize</a></span>(int&nbsp;keySize)</code>
<div class="block">Sets encryption key size.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#setKeyStorePassword-char:A-">setKeyStorePassword</a></span>(char[]&nbsp;keyStorePassword)</code>
<div class="block">Sets password to access KeyStore.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#setKeyStorePath-java.lang.String-">setKeyStorePath</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStorePath)</code>
<div class="block">Sets path to jdk keyStore that stores master key.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#setMasterKeyName-java.lang.String-">setMasterKeyName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</code>
<div class="block">Sets master key Name that will be used for keys encryption in <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptKey-java.io.Serializable-"><code>EncryptionSpi.encryptKey(Serializable)</code></a> and <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decryptKey-byte:A-"><code>EncryptionSpi.decryptKey(byte[])</code></a> methods and in the <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#masterKeyDigest--"><code>EncryptionSpi.masterKeyDigest()</code></a> method.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#spiStart-java.lang.String-">spiStart</a></span>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html#spiStop--">spiStop</a></span>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter-boolean-java.lang.String-">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#clientFailureDetectionTimeout--">clientFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo-java.lang.String-java.lang.Object-">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName-java.lang.String-">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled--">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled-boolean-">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry--">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode--">getLocalNode</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext--">getSpiContext</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite--">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout--">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables--">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources-org.apache.ignite.Ignite-">injectResources</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping--">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart--">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0--">onContextDestroyed0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean-java.lang.String-T-java.lang.Class-">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName-java.lang.String-">setName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started--">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo--">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch--">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo--">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean--">unregisterMBean</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_MASTER_KEY_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MASTER_KEY_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_MASTER_KEY_NAME</pre>
<div class="block">Default key store entry name to store Encryption master key.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.encryption.keystore.KeystoreEncryptionSpi.DEFAULT_MASTER_KEY_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CIPHER_ALGO">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CIPHER_ALGO</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CIPHER_ALGO</pre>
<div class="block">Algorithm supported by implementation.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.encryption.keystore.KeystoreEncryptionSpi.CIPHER_ALGO">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_KEY_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_KEY_SIZE</h4>
<pre>public static final&nbsp;int DEFAULT_KEY_SIZE</pre>
<div class="block">Default encryption key size;</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.encryption.keystore.KeystoreEncryptionSpi.DEFAULT_KEY_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="log">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>log</h4>
<pre><a href="../../../../../../org/apache/ignite/resources/LoggerResource.html" title="annotation in org.apache.ignite.resources">@LoggerResource</a>
protected&nbsp;<a href="../../../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a> log</pre>
<div class="block">Logger.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KeystoreEncryptionSpi--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KeystoreEncryptionSpi</h4>
<pre>public&nbsp;KeystoreEncryptionSpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="spiStart-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
successfully kernel assumes that SPI is fully operational.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for
(<code>null</code> for default Ignite instance).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd>
</dl>
</li>
</ul>
<a name="spiStop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>public&nbsp;void&nbsp;spiStop()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
assumes that this SPI is finished and all resources acquired by it
are released.
<p>
<b>
Note that this method can be called at any point including during
recovery of failed start. It should make no assumptions on what state SPI
will be in when this method is called.
</b></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd>
</dl>
</li>
</ul>
<a name="masterKeyDigest--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>masterKeyDigest</h4>
<pre>public&nbsp;byte[]&nbsp;masterKeyDigest()</pre>
<div class="block">Returns master key digest.
Should always return same digest for a same key.
Digest used for a configuration consistency check.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#masterKeyDigest--">masterKeyDigest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Master key digest.</dd>
</dl>
</li>
</ul>
<a name="masterKeyDigest-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>masterKeyDigest</h4>
<pre>public&nbsp;byte[]&nbsp;masterKeyDigest(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</pre>
<div class="block">Returns master key digest by name.
Should always return same digest for a same key.
Digest used for a configuration consistency check.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#masterKeyDigest-java.lang.String-">masterKeyDigest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>masterKeyName</code> - Master key name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Master key digest.</dd>
</dl>
</li>
</ul>
<a name="create--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a>&nbsp;create()
throws <a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Creates new key for an encryption/decryption of cache persistent data: pages, WAL records.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#create--">create</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Newly created encryption key.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If key creation failed.</dd>
</dl>
</li>
</ul>
<a name="encrypt-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encrypt</h4>
<pre>public&nbsp;void&nbsp;encrypt(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</pre>
<div class="block">Encrypts data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encrypt-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">encrypt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data to encrypt.</dd>
<dd><code>key</code> - Encryption key.</dd>
<dd><code>res</code> - Destination buffer.</dd>
</dl>
</li>
</ul>
<a name="encryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryptNoPadding</h4>
<pre>public&nbsp;void&nbsp;encryptNoPadding(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</pre>
<div class="block">Encrypts data without padding info.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">encryptNoPadding</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data to encrypt.</dd>
<dd><code>key</code> - Encryption key.</dd>
<dd><code>res</code> - Destination buffer.</dd>
</dl>
</li>
</ul>
<a name="decrypt-byte:A-java.io.Serializable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decrypt</h4>
<pre>public&nbsp;byte[]&nbsp;decrypt(byte[]&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key)</pre>
<div class="block">Decrypts data encrypted with <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encrypt-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-"><code>EncryptionSpi.encrypt(ByteBuffer, Serializable, ByteBuffer)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decrypt-byte:A-java.io.Serializable-">decrypt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data to decrypt.</dd>
<dd><code>key</code> - Encryption key.</dd>
</dl>
</li>
</ul>
<a name="decryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decryptNoPadding</h4>
<pre>public&nbsp;void&nbsp;decryptNoPadding(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;res)</pre>
<div class="block">Decrypts data encrypted with <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-"><code>EncryptionSpi.encryptNoPadding(ByteBuffer, Serializable, ByteBuffer)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decryptNoPadding-java.nio.ByteBuffer-java.io.Serializable-java.nio.ByteBuffer-">decryptNoPadding</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data to decrypt.</dd>
<dd><code>key</code> - Encryption key.</dd>
</dl>
</li>
</ul>
<a name="encryptKey-java.io.Serializable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryptKey</h4>
<pre>public&nbsp;byte[]&nbsp;encryptKey(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key)</pre>
<div class="block">Encrypts key.
Adds some info to check key integrity on decryption.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptKey-java.io.Serializable-">encryptKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - Key to encrypt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encrypted key.</dd>
</dl>
</li>
</ul>
<a name="encryptKey-java.io.Serializable-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryptKey</h4>
<pre>public&nbsp;byte[]&nbsp;encryptKey(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</pre>
<div class="block">Encrypts a key with the master key specified by name.
Adds some info to check key integrity on decryption.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptKey-java.io.Serializable-java.lang.String-">encryptKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - Key to encrypt.</dd>
<dd><code>masterKeyName</code> - Master key name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encrypted key.</dd>
</dl>
</li>
</ul>
<a name="decryptKey-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decryptKey</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a>&nbsp;decryptKey(byte[]&nbsp;key)</pre>
<div class="block">Decrypts key and checks it integrity.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decryptKey-byte:A-">decryptKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - Key to decrypt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encrypted key.</dd>
</dl>
</li>
</ul>
<a name="decryptKey-byte:A-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decryptKey</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionKey</a>&nbsp;decryptKey(byte[]&nbsp;data,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</pre>
<div class="block">Decrypts key and checks its integrity using the master key specified by name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decryptKey-byte:A-java.lang.String-">decryptKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Key to decrypt.</dd>
<dd><code>masterKeyName</code> - Master key name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encrypted key.</dd>
</dl>
</li>
</ul>
<a name="encryptedSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryptedSize</h4>
<pre>public&nbsp;int&nbsp;encryptedSize(int&nbsp;dataSize)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptedSize-int-">encryptedSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataSize</code> - Size of plain data in bytes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of encrypted data in bytes for padding encryption mode.</dd>
</dl>
</li>
</ul>
<a name="encryptedSizeNoPadding-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryptedSizeNoPadding</h4>
<pre>public&nbsp;int&nbsp;encryptedSizeNoPadding(int&nbsp;dataSize)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptedSizeNoPadding-int-">encryptedSizeNoPadding</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataSize</code> - Size of plain data in bytes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of encrypted data in bytes for nopadding encryption mode.</dd>
</dl>
</li>
</ul>
<a name="blockSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>blockSize</h4>
<pre>public&nbsp;int&nbsp;blockSize()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#blockSize--">blockSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encrypted data block size.</dd>
</dl>
</li>
</ul>
<a name="getMasterKeyName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterKeyName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterKeyName()</pre>
<div class="block">Gets the current master key name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#getMasterKeyName--">getMasterKeyName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Master key name.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#setMasterKeyName-java.lang.String-"><code>EncryptionSpi.setMasterKeyName(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setMasterKeyName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMasterKeyName</h4>
<pre>public&nbsp;void&nbsp;setMasterKeyName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterKeyName)</pre>
<div class="block">Sets master key Name that will be used for keys encryption in <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#encryptKey-java.io.Serializable-"><code>EncryptionSpi.encryptKey(Serializable)</code></a> and <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#decryptKey-byte:A-"><code>EncryptionSpi.decryptKey(byte[])</code></a> methods and in the <a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#masterKeyDigest--"><code>EncryptionSpi.masterKeyDigest()</code></a> method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html#setMasterKeyName-java.lang.String-">setMasterKeyName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>masterKeyName</code> - Master key name.</dd>
</dl>
</li>
</ul>
<a name="getKeyStorePath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStorePath</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getKeyStorePath()</pre>
<div class="block">Gets path to jdk keyStore that stores master key.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Key store path.</dd>
</dl>
</li>
</ul>
<a name="setKeyStorePath-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeyStorePath</h4>
<pre>public&nbsp;void&nbsp;setKeyStorePath(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStorePath)</pre>
<div class="block">Sets path to jdk keyStore that stores master key.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStorePath</code> - Path to JDK KeyStore.</dd>
</dl>
</li>
</ul>
<a name="getKeyStorePwd--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStorePwd</h4>
<pre>public&nbsp;char[]&nbsp;getKeyStorePwd()</pre>
<div class="block">Gets key store password.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Key store password.</dd>
</dl>
</li>
</ul>
<a name="setKeyStorePassword-char:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeyStorePassword</h4>
<pre>public&nbsp;void&nbsp;setKeyStorePassword(char[]&nbsp;keyStorePassword)</pre>
<div class="block">Sets password to access KeyStore.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStorePassword</code> - Password for Key Store.</dd>
</dl>
</li>
</ul>
<a name="getKeySize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeySize</h4>
<pre>public&nbsp;int&nbsp;getKeySize()</pre>
<div class="block">Gets encryption key size.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Encryption key size.</dd>
</dl>
</li>
</ul>
<a name="setKeySize-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setKeySize</h4>
<pre>public&nbsp;void&nbsp;setKeySize(int&nbsp;keySize)</pre>
<div class="block">Sets encryption key size.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keySize</code> - Key size.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KeystoreEncryptionSpi.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionKey.html" title="class in org.apache.ignite.spi.encryption.keystore"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html" target="_top">Frames</a></li>
<li><a href="KeystoreEncryptionSpi.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>