| <!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 --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Encryption (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="Encryption (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/Encryption.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/hadoop/hbase/io/crypto/DefaultCipherProvider.html" title="class in org.apache.hadoop.hbase.io.crypto"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/crypto/Encryption.html" target="_top">Frames</a></li> |
| <li><a href="Encryption.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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.hadoop.hbase.io.crypto</div> |
| <h2 title="Class Encryption" class="title">Class Encryption</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>org.apache.hadoop.hbase.io.crypto.Encryption</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>@InterfaceAudience.Public |
| public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.52">Encryption</a> |
| extends <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></pre> |
| <div class="block">A facade for encryption algorithms and related support.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Class and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a></span></code> |
| <div class="block">Crypto context</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- =========== 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"> </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 boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_ENABLED_CONF_DEFAULT">CRYPTO_ENABLED_CONF_DEFAULT</a></span></code> |
| <div class="block">Default value for globally enable / disable column family encryption |
| (set to "true" for backward compatibility)</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <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/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_ENABLED_CONF_KEY">CRYPTO_ENABLED_CONF_KEY</a></span></code> |
| <div class="block">Configuration key for globally enable / disable column family encryption</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT">CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT</a></span></code> |
| <div class="block">Default behaviour is not to fail if the hash algorithm configured differs from the one |
| used in the HFile.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <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/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY">CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY</a></span></code> |
| <div class="block">Configuration key for specifying the behaviour if the configured hash algorithm |
| differs from the one used for generating key hash in encrypted HFiles currently being read.</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/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT">CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT</a></span></code> |
| <div class="block">Default hash algorithm used for generating key hash in encrypted HFiles.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <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/hadoop/hbase/io/crypto/Encryption.html#CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY">CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY</a></span></code> |
| <div class="block">Configuration key for the hash algorithm used for generating key hash in encrypted HFiles.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<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>,<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>>,<a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#keyProviderCache">keyProviderCache</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static org.slf4j.Logger</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#LOG">LOG</a></span></code> </td> |
| </tr> |
| </table> |
| </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"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colLast" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#Encryption--">Encryption</a></span>()</code> </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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#computeCryptoKeyHash-org.apache.hadoop.conf.Configuration-byte:A-">computeCryptoKeyHash</a></span>(org.apache.hadoop.conf.Configuration conf, |
| byte[] arg)</code> |
| <div class="block">Returns the hash of the supplied argument, using the hash algorithm |
| specified in the given config.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#decrypt-byte:A-int-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Decryptor-">decrypt</a></span>(byte[] dest, |
| int destOffset, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int destSize, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Decryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Decryptor</a> d)</code> |
| <div class="block">Decrypt a block of ciphertext read in from a stream with the given |
| cipher and context</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#decrypt-byte:A-int-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-">decrypt</a></span>(byte[] dest, |
| int destOffset, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int destSize, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv)</code> |
| <div class="block">Decrypt a block of ciphertext from a stream given a context and IV</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#decrypt-java.io.OutputStream-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Decryptor-">decrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Decryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Decryptor</a> d)</code> |
| <div class="block">Decrypt a stream of ciphertext given a decryptor</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#decrypt-java.io.OutputStream-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-">decrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv)</code> |
| <div class="block">Decrypt a stream of ciphertext given a context and IV</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#decryptWithSubjectKey-java.io.OutputStream-java.io.InputStream-int-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.crypto.Cipher-byte:A-">decryptWithSubjectKey</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <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> subject, |
| org.apache.hadoop.conf.Configuration conf, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a> cipher, |
| byte[] iv)</code> |
| <div class="block">Decrypts a block of ciphertext with the symmetric key resolved for the given subject</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#encrypt-java.io.OutputStream-byte:A-int-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-">encrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| byte[] src, |
| int offset, |
| int length, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv)</code> |
| <div class="block">Encrypt a block of plaintext</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#encrypt-java.io.OutputStream-byte:A-int-int-org.apache.hadoop.hbase.io.crypto.Encryptor-">encrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| byte[] src, |
| int offset, |
| int length, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Encryptor</a> e)</code> |
| <div class="block">Encrypt a block of plaintext</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#encrypt-java.io.OutputStream-java.io.InputStream-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-">encrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv)</code> |
| <div class="block">Encrypt a stream of plaintext given a context and IV</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#encrypt-java.io.OutputStream-java.io.InputStream-org.apache.hadoop.hbase.io.crypto.Encryptor-">encrypt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Encryptor</a> e)</code> |
| <div class="block">Encrypt a stream of plaintext given an encryptor</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#encryptWithSubjectKey-java.io.OutputStream-java.io.InputStream-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.crypto.Cipher-byte:A-">encryptWithSubjectKey</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <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> subject, |
| org.apache.hadoop.conf.Configuration conf, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a> cipher, |
| byte[] iv)</code> |
| <div class="block">Encrypts a block of plaintext with the symmetric key resolved for the given subject</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#failOnHashAlgorithmMismatch-org.apache.hadoop.conf.Configuration-">failOnHashAlgorithmMismatch</a></span>(org.apache.hadoop.conf.Configuration conf)</code> |
| <div class="block">Returns the Hash Algorithm mismatch behaviour defined in the crypto configuration.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#generateSecretKey-org.apache.hadoop.conf.Configuration-java.lang.String-byte:A...-">generateSecretKey</a></span>(org.apache.hadoop.conf.Configuration conf, |
| <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> cypherAlg, |
| byte[]... args)</code> |
| <div class="block">Return a key derived from the concatenation of the supplied arguments using |
| PBKDF2WithHmacSHA384 key derivation algorithm at 10,000 iterations.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#generateSecretKey-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String...-">generateSecretKey</a></span>(org.apache.hadoop.conf.Configuration conf, |
| <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> cypherAlg, |
| <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>... args)</code> |
| <div class="block">Return a key derived from the concatenation of the supplied arguments using |
| PBKDF2WithHmacSHA384 key derivation algorithm at 10,000 iterations.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>private static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#generateSecretKey-java.lang.String-int-char:A-">generateSecretKey</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> algorithm, |
| int keyLengthBytes, |
| char[] password)</code> |
| <div class="block">Return a key (byte array) derived from the supplied password argument using the given |
| algorithm with a random salt at 10,000 iterations.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#getCipher-org.apache.hadoop.conf.Configuration-java.lang.String-">getCipher</a></span>(org.apache.hadoop.conf.Configuration conf, |
| <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> name)</code> |
| <div class="block">Get an cipher given a name</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/CipherProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">CipherProvider</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#getCipherProvider-org.apache.hadoop.conf.Configuration-">getCipherProvider</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#getClassLoaderForClass-java.lang.Class-">getClassLoaderForClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> c)</code> </td> |
| </tr> |
| <tr id="i18" 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/hadoop/hbase/io/crypto/Encryption.html#getConfiguredHashAlgorithm-org.apache.hadoop.conf.Configuration-">getConfiguredHashAlgorithm</a></span>(org.apache.hadoop.conf.Configuration conf)</code> |
| <div class="block">Returns the Hash Algorithm defined in the crypto configuration.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#getKeyProvider-org.apache.hadoop.conf.Configuration-">getKeyProvider</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/security/Key.html?is-external=true" title="class or interface in java.security">Key</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#getSecretKeyForSubject-java.lang.String-org.apache.hadoop.conf.Configuration-">getSecretKeyForSubject</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> subject, |
| org.apache.hadoop.conf.Configuration conf)</code> |
| <div class="block">Resolves a key for the given subject</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <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/hadoop/hbase/io/crypto/Encryption.html#getSupportedCiphers--">getSupportedCiphers</a></span>()</code> |
| <div class="block">Get names of supported encryption algorithms</div> |
| </td> |
| </tr> |
| <tr id="i22" 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/hadoop/hbase/io/crypto/Encryption.html#getSupportedCiphers-org.apache.hadoop.conf.Configuration-">getSupportedCiphers</a></span>(org.apache.hadoop.conf.Configuration conf)</code> |
| <div class="block">Get names of supported encryption algorithms</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#hash128-byte:A...-">hash128</a></span>(byte[]... args)</code> |
| <div class="block">Return the MD5 digest of the concatenation of the supplied arguments.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#hash128-java.lang.String...-">hash128</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>... args)</code> |
| <div class="block">Return the MD5 digest of the concatenation of the supplied arguments.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#hash256-byte:A...-">hash256</a></span>(byte[]... args)</code> |
| <div class="block">Return the SHA-256 digest of the concatenation of the supplied arguments.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#hash256-java.lang.String...-">hash256</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>... args)</code> |
| <div class="block">Return the SHA-256 digest of the concatenation of the supplied arguments.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#hashWithAlg-java.lang.String-byte:A...-">hashWithAlg</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> algorithm, |
| byte[]... args)</code> |
| <div class="block">Return the hash of the concatenation of the supplied arguments, using the |
| hash algorithm provided.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#incrementIv-byte:A-">incrementIv</a></span>(byte[] iv)</code> </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#incrementIv-byte:A-int-">incrementIv</a></span>(byte[] iv, |
| int v)</code> </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#isEncryptionEnabled-org.apache.hadoop.conf.Configuration-">isEncryptionEnabled</a></span>(org.apache.hadoop.conf.Configuration conf)</code> |
| <div class="block">Returns true if the column family encryption feature is enabled globally.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#newContext--">newContext</a></span>()</code> </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#newContext-org.apache.hadoop.conf.Configuration-">newContext</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#pbkdf128-byte:A...-">pbkdf128</a></span>(byte[]... args)</code> |
| <div class="block">Return a 128 bit key derived from the concatenation of the supplied |
| arguments using PBKDF2WithHmacSHA1 at 10,000 iterations.</div> |
| </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>static byte[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.html#pbkdf128-java.lang.String...-">pbkdf128</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>... args)</code> |
| <div class="block">Return a 128 bit key derived from the concatenation of the supplied |
| arguments using PBKDF2WithHmacSHA1 at 10,000 iterations.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class 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> |
| </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="LOG"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>LOG</h4> |
| <pre>private static final org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.54">LOG</a></pre> |
| </li> |
| </ul> |
| <a name="CRYPTO_ENABLED_CONF_KEY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_ENABLED_CONF_KEY</h4> |
| <pre>public static final <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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.60">CRYPTO_ENABLED_CONF_KEY</a></pre> |
| <div class="block">Configuration key for globally enable / disable column family encryption</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_ENABLED_CONF_KEY">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CRYPTO_ENABLED_CONF_DEFAULT"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_ENABLED_CONF_DEFAULT</h4> |
| <pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.66">CRYPTO_ENABLED_CONF_DEFAULT</a></pre> |
| <div class="block">Default value for globally enable / disable column family encryption |
| (set to "true" for backward compatibility)</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_ENABLED_CONF_DEFAULT">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY</h4> |
| <pre>public static final <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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.73">CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY</a></pre> |
| <div class="block">Configuration key for the hash algorithm used for generating key hash in encrypted HFiles. |
| This is a MessageDigest algorithm identifier string, like "MD5", "SHA-256" or "SHA-384". |
| (default: "MD5" for backward compatibility reasons)</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_KEY_HASH_ALGORITHM_CONF_KEY">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT</h4> |
| <pre>public static final <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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.79">CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT</a></pre> |
| <div class="block">Default hash algorithm used for generating key hash in encrypted HFiles. |
| (we use "MD5" for backward compatibility reasons)</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_KEY_HASH_ALGORITHM_CONF_DEFAULT">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY</h4> |
| <pre>public static final <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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.89">CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY</a></pre> |
| <div class="block">Configuration key for specifying the behaviour if the configured hash algorithm |
| differs from the one used for generating key hash in encrypted HFiles currently being read. |
| |
| - "false" (default): we won't fail but use the hash algorithm stored in the HFile |
| - "true": we throw an exception (this can be useful if regulations are enforcing the usage |
| of certain algorithms, e.g. on FIPS compliant clusters)</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_KEY">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT</h4> |
| <pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.97">CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT</a></pre> |
| <div class="block">Default behaviour is not to fail if the hash algorithm configured differs from the one |
| used in the HFile. (this is the more fail-safe approach, allowing us to read |
| encrypted HFiles written using a different encryption key hash algorithm)</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.Encryption.CRYPTO_KEY_FAIL_ON_ALGORITHM_MISMATCH_CONF_DEFAULT">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="keyProviderCache"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>keyProviderCache</h4> |
| <pre>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<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>,<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>>,<a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.611">keyProviderCache</a></pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="Encryption--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>Encryption</h4> |
| <pre>private <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.144">Encryption</a>()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="newContext--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>newContext</h4> |
| <pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.135">newContext</a>()</pre> |
| </li> |
| </ul> |
| <a name="newContext-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>newContext</h4> |
| <pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.139">newContext</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| </li> |
| </ul> |
| <a name="isEncryptionEnabled-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isEncryptionEnabled</h4> |
| <pre>public static boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.152">isEncryptionEnabled</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| <div class="block">Returns true if the column family encryption feature is enabled globally.</div> |
| </li> |
| </ul> |
| <a name="getCipher-org.apache.hadoop.conf.Configuration-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCipher</h4> |
| <pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.161">getCipher</a>(org.apache.hadoop.conf.Configuration conf, |
| <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> name)</pre> |
| <div class="block">Get an cipher given a name</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - the cipher name</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the cipher, or null if a suitable one could not be found</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getSupportedCiphers--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSupportedCiphers</h4> |
| <pre>public 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>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.170">getSupportedCiphers</a>()</pre> |
| <div class="block">Get names of supported encryption algorithms</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Array of strings, each represents a supported encryption algorithm</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getSupportedCiphers-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSupportedCiphers</h4> |
| <pre>public 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>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.179">getSupportedCiphers</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| <div class="block">Get names of supported encryption algorithms</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Array of strings, each represents a supported encryption algorithm</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getConfiguredHashAlgorithm-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getConfiguredHashAlgorithm</h4> |
| <pre>public 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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.186">getConfiguredHashAlgorithm</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| <div class="block">Returns the Hash Algorithm defined in the crypto configuration.</div> |
| </li> |
| </ul> |
| <a name="failOnHashAlgorithmMismatch-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>failOnHashAlgorithmMismatch</h4> |
| <pre>public static boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.194">failOnHashAlgorithmMismatch</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| <div class="block">Returns the Hash Algorithm mismatch behaviour defined in the crypto configuration.</div> |
| </li> |
| </ul> |
| <a name="computeCryptoKeyHash-org.apache.hadoop.conf.Configuration-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>computeCryptoKeyHash</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.203">computeCryptoKeyHash</a>(org.apache.hadoop.conf.Configuration conf, |
| byte[] arg)</pre> |
| <div class="block">Returns the hash of the supplied argument, using the hash algorithm |
| specified in the given config.</div> |
| </li> |
| </ul> |
| <a name="hash128-java.lang.String...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hash128</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.218">hash128</a>(<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>... args)</pre> |
| <div class="block">Return the MD5 digest of the concatenation of the supplied arguments.</div> |
| </li> |
| </ul> |
| <a name="hash128-byte:A...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hash128</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.225">hash128</a>(byte[]... args)</pre> |
| <div class="block">Return the MD5 digest of the concatenation of the supplied arguments.</div> |
| </li> |
| </ul> |
| <a name="hash256-java.lang.String...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hash256</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.232">hash256</a>(<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>... args)</pre> |
| <div class="block">Return the SHA-256 digest of the concatenation of the supplied arguments.</div> |
| </li> |
| </ul> |
| <a name="hash256-byte:A...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hash256</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.239">hash256</a>(byte[]... args)</pre> |
| <div class="block">Return the SHA-256 digest of the concatenation of the supplied arguments.</div> |
| </li> |
| </ul> |
| <a name="pbkdf128-java.lang.String...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pbkdf128</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.248">pbkdf128</a>(<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>... args)</pre> |
| <div class="block">Return a 128 bit key derived from the concatenation of the supplied |
| arguments using PBKDF2WithHmacSHA1 at 10,000 iterations.</div> |
| </li> |
| </ul> |
| <a name="pbkdf128-byte:A...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pbkdf128</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.261">pbkdf128</a>(byte[]... args)</pre> |
| <div class="block">Return a 128 bit key derived from the concatenation of the supplied |
| arguments using PBKDF2WithHmacSHA1 at 10,000 iterations.</div> |
| </li> |
| </ul> |
| <a name="generateSecretKey-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>generateSecretKey</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.280">generateSecretKey</a>(org.apache.hadoop.conf.Configuration conf, |
| <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> cypherAlg, |
| <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>... args)</pre> |
| <div class="block">Return a key derived from the concatenation of the supplied arguments using |
| PBKDF2WithHmacSHA384 key derivation algorithm at 10,000 iterations. |
| |
| The length of the returned key is determined based on the need of the cypher algorithm. |
| E.g. for the default "AES" we will need a 128 bit long key, while if the user is using |
| a custom cipher, we might generate keys with other length. |
| |
| This key generation method is used currently e.g. in the HBase Shell (admin.rb) to generate a |
| column family data encryption key, if the user provided an ENCRYPTION_KEY parameter.</div> |
| </li> |
| </ul> |
| <a name="generateSecretKey-org.apache.hadoop.conf.Configuration-java.lang.String-byte:A...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>generateSecretKey</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.300">generateSecretKey</a>(org.apache.hadoop.conf.Configuration conf, |
| <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> cypherAlg, |
| byte[]... args)</pre> |
| <div class="block">Return a key derived from the concatenation of the supplied arguments using |
| PBKDF2WithHmacSHA384 key derivation algorithm at 10,000 iterations. |
| |
| The length of the returned key is determined based on the need of the cypher algorithm. |
| E.g. for the default "AES" we will need a 128 bit long key, while if the user is using |
| a custom cipher, we might generate keys with other length. |
| |
| This key generation method is used currently e.g. in the HBase Shell (admin.rb) to generate a |
| column family data encryption key, if the user provided an ENCRYPTION_KEY parameter.</div> |
| </li> |
| </ul> |
| <a name="generateSecretKey-java.lang.String-int-char:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>generateSecretKey</h4> |
| <pre>private static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.318">generateSecretKey</a>(<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> algorithm, |
| int keyLengthBytes, |
| char[] password)</pre> |
| <div class="block">Return a key (byte array) derived from the supplied password argument using the given |
| algorithm with a random salt at 10,000 iterations.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>algorithm</code> - the secret key generation algorithm to use</dd> |
| <dd><code>keyLengthBytes</code> - the length of the key to be derived (in bytes, not in bits)</dd> |
| <dd><code>password</code> - char array to use as password for the key generation algorithm</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>secret key encoded as a byte array</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="encrypt-java.io.OutputStream-byte:A-int-int-org.apache.hadoop.hbase.io.crypto.Encryptor-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.341">encrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| byte[] src, |
| int offset, |
| int length, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Encryptor</a> e) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Encrypt a block of plaintext |
| <p> |
| The encryptor's state will be finalized. It should be reinitialized or |
| returned to the pool.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - ciphertext</dd> |
| <dd><code>src</code> - plaintext</dd> |
| <dd><code>offset</code> - </dd> |
| <dd><code>length</code> - </dd> |
| <dd><code>e</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="encrypt-java.io.OutputStream-byte:A-int-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.361">encrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| byte[] src, |
| int offset, |
| int length, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Encrypt a block of plaintext</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - ciphertext</dd> |
| <dd><code>src</code> - plaintext</dd> |
| <dd><code>offset</code> - </dd> |
| <dd><code>length</code> - </dd> |
| <dd><code>context</code> - </dd> |
| <dd><code>iv</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="encrypt-java.io.OutputStream-java.io.InputStream-org.apache.hadoop.hbase.io.crypto.Encryptor-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.380">encrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Encryptor</a> e) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Encrypt a stream of plaintext given an encryptor |
| <p> |
| The encryptor's state will be finalized. It should be reinitialized or |
| returned to the pool.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - ciphertext</dd> |
| <dd><code>in</code> - plaintext</dd> |
| <dd><code>e</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="encrypt-java.io.OutputStream-java.io.InputStream-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.398">encrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Encrypt a stream of plaintext given a context and IV</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - ciphertext</dd> |
| <dd><code>in</code> - plaintet</dd> |
| <dd><code>context</code> - </dd> |
| <dd><code>iv</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="decrypt-byte:A-int-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Decryptor-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.420">decrypt</a>(byte[] dest, |
| int destOffset, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int destSize, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Decryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Decryptor</a> d) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Decrypt a block of ciphertext read in from a stream with the given |
| cipher and context |
| <p> |
| The decryptor's state will be finalized. It should be reinitialized or |
| returned to the pool.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>dest</code> - </dd> |
| <dd><code>destOffset</code> - </dd> |
| <dd><code>in</code> - </dd> |
| <dd><code>destSize</code> - </dd> |
| <dd><code>d</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="decrypt-byte:A-int-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.440">decrypt</a>(byte[] dest, |
| int destOffset, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int destSize, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Decrypt a block of ciphertext from a stream given a context and IV</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>dest</code> - </dd> |
| <dd><code>destOffset</code> - </dd> |
| <dd><code>in</code> - </dd> |
| <dd><code>destSize</code> - </dd> |
| <dd><code>context</code> - </dd> |
| <dd><code>iv</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="decrypt-java.io.OutputStream-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Decryptor-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.456">decrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Decryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto">Decryptor</a> d) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Decrypt a stream of ciphertext given a decryptor</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - </dd> |
| <dd><code>in</code> - </dd> |
| <dd><code>outLen</code> - </dd> |
| <dd><code>d</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="decrypt-java.io.OutputStream-java.io.InputStream-int-org.apache.hadoop.hbase.io.crypto.Encryption.Context-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decrypt</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.485">decrypt</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto">Encryption.Context</a> context, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Decrypt a stream of ciphertext given a context and IV</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - </dd> |
| <dd><code>in</code> - </dd> |
| <dd><code>outLen</code> - </dd> |
| <dd><code>context</code> - </dd> |
| <dd><code>iv</code> - </dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getSecretKeyForSubject-java.lang.String-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSecretKeyForSubject</h4> |
| <pre>public static <a href="https://docs.oracle.com/javase/8/docs/api/java/security/Key.html?is-external=true" title="class or interface in java.security">Key</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.500">getSecretKeyForSubject</a>(<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> subject, |
| org.apache.hadoop.conf.Configuration conf) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Resolves a key for the given subject</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - </dd> |
| <dd><code>conf</code> - </dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>a key for the given subject</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the key is not found</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="encryptWithSubjectKey-java.io.OutputStream-java.io.InputStream-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.crypto.Cipher-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encryptWithSubjectKey</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.523">encryptWithSubjectKey</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| <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> subject, |
| org.apache.hadoop.conf.Configuration conf, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a> cipher, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Encrypts a block of plaintext with the symmetric key resolved for the given subject</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - ciphertext</dd> |
| <dd><code>in</code> - plaintext</dd> |
| <dd><code>conf</code> - configuration</dd> |
| <dd><code>cipher</code> - the encryption algorithm</dd> |
| <dd><code>iv</code> - the initialization vector, can be null</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="decryptWithSubjectKey-java.io.OutputStream-java.io.InputStream-int-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.crypto.Cipher-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decryptWithSubjectKey</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.547">decryptWithSubjectKey</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> in, |
| int outLen, |
| <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> subject, |
| org.apache.hadoop.conf.Configuration conf, |
| <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Cipher.html" title="class in org.apache.hadoop.hbase.io.crypto">Cipher</a> cipher, |
| byte[] iv) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">Decrypts a block of ciphertext with the symmetric key resolved for the given subject</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>out</code> - plaintext</dd> |
| <dd><code>in</code> - ciphertext</dd> |
| <dd><code>outLen</code> - the expected plaintext length</dd> |
| <dd><code>subject</code> - the subject's key alias</dd> |
| <dd><code>conf</code> - configuration</dd> |
| <dd><code>cipher</code> - the encryption algorithm</dd> |
| <dd><code>iv</code> - the initialization vector, can be null</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getClassLoaderForClass-java.lang.Class-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getClassLoaderForClass</h4> |
| <pre>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.583">getClassLoaderForClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> c)</pre> |
| </li> |
| </ul> |
| <a name="getCipherProvider-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCipherProvider</h4> |
| <pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/CipherProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">CipherProvider</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.597">getCipherProvider</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| </li> |
| </ul> |
| <a name="getKeyProvider-org.apache.hadoop.conf.Configuration-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getKeyProvider</h4> |
| <pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.613">getKeyProvider</a>(org.apache.hadoop.conf.Configuration conf)</pre> |
| </li> |
| </ul> |
| <a name="incrementIv-byte:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>incrementIv</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.638">incrementIv</a>(byte[] iv)</pre> |
| </li> |
| </ul> |
| <a name="incrementIv-byte:A-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>incrementIv</h4> |
| <pre>public static void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.642">incrementIv</a>(byte[] iv, |
| int v)</pre> |
| </li> |
| </ul> |
| <a name="hashWithAlg-java.lang.String-byte:A...-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>hashWithAlg</h4> |
| <pre>public static byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.663">hashWithAlg</a>(<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> algorithm, |
| byte[]... args)</pre> |
| <div class="block">Return the hash of the concatenation of the supplied arguments, using the |
| hash algorithm provided.</div> |
| </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/Encryption.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/hadoop/hbase/io/crypto/DefaultCipherProvider.html" title="class in org.apache.hadoop.hbase.io.crypto"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/hadoop/hbase/io/crypto/Encryption.Context.html" title="class in org.apache.hadoop.hbase.io.crypto"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/crypto/Encryption.html" target="_top">Frames</a></li> |
| <li><a href="Encryption.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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>Copyright © 2007–2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |