blob: bd6806647ad0dbd3b751e4913cbb76d094291578 [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_312) on Tue Jul 12 12:49:36 GMT 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClientToAMTokenSecretManager (Apache Hadoop Main 3.2.4 API)</title>
<meta name="date" content="2022-07-12">
<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="ClientToAMTokenSecretManager (Apache Hadoop Main 3.2.4 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":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/ClientToAMTokenSecretManager.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/yarn/security/client/ClientToAMTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/yarn/security/client/RMDelegationTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html" target="_top">Frames</a></li>
<li><a href="ClientToAMTokenSecretManager.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>Field&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>Field&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.hadoop.yarn.security.client</div>
<h2 title="Class ClientToAMTokenSecretManager" class="title">Class ClientToAMTokenSecretManager</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/hadoop/security/token/SecretManager.html" title="class in org.apache.hadoop.security.token">org.apache.hadoop.security.token.SecretManager</a>&lt;<a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client">ClientToAMTokenIdentifier</a>&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/yarn/security/client/BaseClientToAMTokenSecretManager.html" title="class in org.apache.hadoop.yarn.security.client">org.apache.hadoop.yarn.security.client.BaseClientToAMTokenSecretManager</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.yarn.security.client.ClientToAMTokenSecretManager</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Evolving
public class <span class="typeNameLabel">ClientToAMTokenSecretManager</span>
extends <a href="../../../../../../org/apache/hadoop/yarn/security/client/BaseClientToAMTokenSecretManager.html" title="class in org.apache.hadoop.yarn.security.client">BaseClientToAMTokenSecretManager</a></pre>
<div class="block">A simple <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html" title="class in org.apache.hadoop.security.token"><code>SecretManager</code></a> for AMs to validate Client-RM tokens issued to
clients by the RM using the underlying master-key shared by RM to the AMs on
their launch. All the methods are called by either Hadoop RPC or YARN, so
this class is strictly for the purpose of inherit/extend and register with
Hadoop RPC.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html#ClientToAMTokenSecretManager-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-byte:A-">ClientToAMTokenSecretManager</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a>&nbsp;applicationAttemptID,
byte[]&nbsp;key)</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><a href="https://docs.oracle.com/javase/8/docs/api/javax/crypto/SecretKey.html?is-external=true" title="class or interface in javax.crypto">SecretKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html#getMasterKey-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-">getMasterKey</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a>&nbsp;applicationAttemptID)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html#retrievePassword-org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier-">retrievePassword</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client">ClientToAMTokenIdentifier</a>&nbsp;identifier)</code>
<div class="block">Retrieve the password for the given token identifier.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html#setMasterKey-byte:A-">setMasterKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.security.token.SecretManager">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.security.token.<a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html" title="class in org.apache.hadoop.security.token">SecretManager</a></h3>
<code><a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#checkAvailableForRead--">checkAvailableForRead</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#createIdentifier--">createIdentifier</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#createPassword-byte:A-javax.crypto.SecretKey-">createPassword</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#createPassword-T-">createPassword</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#createSecretKey-byte:A-">createSecretKey</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#generateSecret--">generateSecret</a>, <a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#retriableRetrievePassword-T-">retriableRetrievePassword</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>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ClientToAMTokenSecretManager-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-byte:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClientToAMTokenSecretManager</h4>
<pre>public&nbsp;ClientToAMTokenSecretManager(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a>&nbsp;applicationAttemptID,
byte[]&nbsp;key)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="retrievePassword-org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrievePassword</h4>
<pre>public&nbsp;byte[]&nbsp;retrievePassword(<a href="../../../../../../org/apache/hadoop/yarn/security/client/ClientToAMTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client">ClientToAMTokenIdentifier</a>&nbsp;identifier)
throws org.apache.hadoop.security.token.SecretManager.InvalidToken</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/security/token/SecretManager.html#retrievePassword-T-">SecretManager</a></code></span></div>
<div class="block">Retrieve the password for the given token identifier. Should check the date
or registry to make sure the token hasn't expired or been revoked. Returns
the relevant password.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - the identifier to validate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the password to use</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.security.token.SecretManager.InvalidToken</code> - the token was invalid</dd>
</dl>
</li>
</ul>
<a name="getMasterKey-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterKey</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/javax/crypto/SecretKey.html?is-external=true" title="class or interface in javax.crypto">SecretKey</a>&nbsp;getMasterKey(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a>&nbsp;applicationAttemptID)</pre>
</li>
</ul>
<a name="setMasterKey-byte:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMasterKey</h4>
<pre>public&nbsp;void&nbsp;setMasterKey(byte[]&nbsp;key)</pre>
</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/ClientToAMTokenSecretManager.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/yarn/security/client/ClientToAMTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/yarn/security/client/RMDelegationTokenIdentifier.html" title="class in org.apache.hadoop.yarn.security.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/yarn/security/client/ClientToAMTokenSecretManager.html" target="_top">Frames</a></li>
<li><a href="ClientToAMTokenSecretManager.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>Field&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>Field&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>Copyright &#169; 2022 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>