<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Internal%3ACreating_authorization_keys</id>
	<title>Internal:Creating authorization keys - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Internal%3ACreating_authorization_keys"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Internal:Creating_authorization_keys&amp;action=history"/>
	<updated>2026-11-11T21:31:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Internal:Creating_authorization_keys&amp;diff=122081&amp;oldid=prev</id>
		<title>Tom at 22:21, 3 November 2026</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Internal:Creating_authorization_keys&amp;diff=122081&amp;oldid=prev"/>
		<updated>2026-11-03T22:21:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:21, 3 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Step 1: Get the CPU ID from the customer ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Step 1: Get the CPU ID from the customer ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Only &lt;/del&gt;the &#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rightmost &lt;/del&gt;8 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or 10 hexadecimal characters&lt;/del&gt;&#039;&#039;&#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CPU ID are used&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The authorization code uses only &lt;/ins&gt;the &#039;&#039;&#039;8&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-hex-digit CPU serial number&lt;/ins&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The surrounding bytes are ignored: the leading &amp;lt;code&amp;gt;FF&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; flag, &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;following LPAR byte (for example &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;), and the trailing four digits. The LPAR is not inspected by the authorization code&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! System !! Command !! Example response !! Value to use&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! System !! Command !! Example response !! Value to use&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| z/VM || &amp;lt;code&amp;gt;CP Q CPUID&amp;lt;/code&amp;gt; (from the virtual machine that will run the products) || &amp;lt;code&amp;gt;CPUID = FF04686420030000&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6420030000&lt;/del&gt;&amp;lt;/code&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or &lt;/del&gt;&amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;20030000&lt;/del&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| z/VM || &amp;lt;code&amp;gt;CP Q CPUID&amp;lt;/code&amp;gt; (from the virtual machine that will run the products) || &amp;lt;code&amp;gt;CPUID = FF04686420030000&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;68642003&lt;/ins&gt;&amp;lt;/code&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(&lt;/ins&gt;&amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FF&lt;/ins&gt;&amp;lt;/code&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;flag, &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt; LPAR, serial, &amp;lt;code&amp;gt;0000&amp;lt;/code&amp;gt;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| z/OS (MVS, OS/390) || &amp;lt;code&amp;gt;D M=CPU&amp;lt;/code&amp;gt; (operator or SDSF console with command authority) || SERIAL column: &amp;lt;code&amp;gt;0468642003&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0468642003&lt;/del&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| z/OS (MVS, OS/390) || &amp;lt;code&amp;gt;D M=CPU&amp;lt;/code&amp;gt; (operator or SDSF console with command authority) || SERIAL column: &amp;lt;code&amp;gt;0468642003&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;68642003&lt;/ins&gt;&amp;lt;/code&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(the leading &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt; LPAR prefix may be omitted)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| z/VSE || &amp;lt;code&amp;gt;SIR&amp;lt;/code&amp;gt; command || &amp;lt;code&amp;gt;AR 0015 CPUID  VM = 00379B7891758000  VSE = FF379B7891758000&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9B789175&amp;lt;/code&amp;gt; (use either the VM or VSE value; &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt; is the LPAR)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CPU IDs must be &lt;/del&gt;8 or 10 hex digits. A 10-digit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ID &lt;/del&gt;is compared to existing customers using its rightmost 8 digits.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The maintenance site accepts &lt;/ins&gt;8 or 10 hex digits. A 10-digit &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value (LPAR byte plus serial, as z/OS shows it) &lt;/ins&gt;is compared to existing customers using its rightmost 8 digits&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, so entering the 8-digit serial is simplest&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Step 2: Find or add the customer ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Step 2: Find or add the customer ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tom</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Internal:Creating_authorization_keys&amp;diff=122080&amp;oldid=prev</id>
		<title>Tom: Created page with &quot;__NOINDEX__ __NOTOC__ &lt;div style=&quot;border:1px solid #c00; padding:6px;&quot;&gt;&#039;&#039;&#039;Internal use only.&#039;&#039;&#039; This page is intentionally not linked from the main page or any category. Do not link it from customer-facing pages.&lt;/div&gt;  = Creating Model 204 authorization keys (internal) =  Model 204 products are licensed per CPU. An authorization key (also called an &#039;&#039;authorization zap&#039;&#039; or &#039;&#039;AUTH zap&#039;&#039;) is generated on demand by the Rocket maintenance subsystem (the &lt;code&gt;maint&lt;/code&gt; p...&quot;</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Internal:Creating_authorization_keys&amp;diff=122080&amp;oldid=prev"/>
		<updated>2026-11-03T22:12:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOINDEX__ __NOTOC__ &amp;lt;div style=&amp;quot;border:1px solid #c00; padding:6px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Internal use only.&amp;#039;&amp;#039;&amp;#039; This page is intentionally not linked from the main page or any category. Do not link it from customer-facing pages.&amp;lt;/div&amp;gt;  = Creating Model 204 authorization keys (internal) =  Model 204 products are licensed per CPU. An authorization key (also called an &amp;#039;&amp;#039;authorization zap&amp;#039;&amp;#039; or &amp;#039;&amp;#039;AUTH zap&amp;#039;&amp;#039;) is generated on demand by the Rocket maintenance subsystem (the &amp;lt;code&amp;gt;maint&amp;lt;/code&amp;gt; p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOINDEX__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #c00; padding:6px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Internal use only.&amp;#039;&amp;#039;&amp;#039; This page is intentionally not linked from the main page or any category. Do not link it from customer-facing pages.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating Model 204 authorization keys (internal) =&lt;br /&gt;
&lt;br /&gt;
Model 204 products are licensed per CPU. An authorization key (also called an &amp;#039;&amp;#039;authorization zap&amp;#039;&amp;#039; or &amp;#039;&amp;#039;AUTH zap&amp;#039;&amp;#039;) is generated on demand by the Rocket maintenance subsystem (the &amp;lt;code&amp;gt;maint&amp;lt;/code&amp;gt; procedures) and identifies the CPU serial number(s), the start and end dates, the products, and, for thread-based products, the maximum thread count.&lt;br /&gt;
&lt;br /&gt;
Keys are not created by hand. They are built by the maintenance subsystem when an authorized user requests one, either from the web or by e-mail.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
* You need a maintenance-site login (userid) with access to the customer. Access is checked against the customer nickname; a user who is not authorized for the nickname receives a &amp;quot;401 Unauthorized&amp;quot; response.&lt;br /&gt;
* The customer must already exist in the maintenance database (customer record, type &amp;#039;&amp;#039;C&amp;#039;&amp;#039;) with its licensed products. To add a new customer, use the &amp;#039;&amp;#039;Add a Customer / Provide CPU IDs&amp;#039;&amp;#039; page (&amp;lt;code&amp;gt;cust1&amp;lt;/code&amp;gt;).&lt;br /&gt;
* You need the customer&amp;#039;s CPU ID(s).&lt;br /&gt;
&lt;br /&gt;
== Step 1: Get the CPU ID from the customer ==&lt;br /&gt;
Only the &amp;#039;&amp;#039;&amp;#039;rightmost 8 or 10 hexadecimal characters&amp;#039;&amp;#039;&amp;#039; of the CPU ID are used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! System !! Command !! Example response !! Value to use&lt;br /&gt;
|-&lt;br /&gt;
| z/VM || &amp;lt;code&amp;gt;CP Q CPUID&amp;lt;/code&amp;gt; (from the virtual machine that will run the products) || &amp;lt;code&amp;gt;CPUID = FF04686420030000&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;6420030000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;20030000&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| z/OS (MVS, OS/390) || &amp;lt;code&amp;gt;D M=CPU&amp;lt;/code&amp;gt; (operator or SDSF console with command authority) || SERIAL column: &amp;lt;code&amp;gt;0468642003&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;0468642003&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
CPU IDs must be 8 or 10 hex digits. A 10-digit ID is compared to existing customers using its rightmost 8 digits.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Find or add the customer ==&lt;br /&gt;
# Sign on to the maintenance site.&lt;br /&gt;
# To check whether a CPU already belongs to a customer, use &amp;#039;&amp;#039;Add a Customer / Provide CPU IDs&amp;#039;&amp;#039; and enter the CPU ID. If it matches an existing customer, you are redirected to that customer&amp;#039;s page (&amp;lt;code&amp;gt;dlist?nickname=...&amp;lt;/code&amp;gt;); otherwise you can add a new customer.&lt;br /&gt;
# Confirm the customer record: nickname, company, operating system, distributor, and the CPU list. Mark test or inactive customers with &amp;#039;&amp;#039;Inactive or Test Client?&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Request the key ==&lt;br /&gt;
# From the customer&amp;#039;s page (&amp;lt;code&amp;gt;dlist&amp;lt;/code&amp;gt;), choose &amp;#039;&amp;#039;Download authorization keys&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;authlist?nickname=&amp;lt;i&amp;gt;nickname&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Select the key to build:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;All Authorized Products&amp;#039;&amp;#039;&amp;#039; (prefix &amp;lt;code&amp;gt;ALL&amp;lt;/code&amp;gt;), which is the normal choice, or&lt;br /&gt;
#* a single product, if the customer needs only that one.&lt;br /&gt;
# Enter the TCP/IP address (&amp;lt;code&amp;gt;tcpaddr&amp;lt;/code&amp;gt;) or e-mail address that should receive the key. &amp;#039;&amp;#039;Email&amp;#039;&amp;#039; links send the key to the address on the customer record.&lt;br /&gt;
# Click the download or e-mail link.&lt;br /&gt;
&lt;br /&gt;
Behind the scenes, the web procedure (&amp;lt;code&amp;gt;MAINTP_DOWNLOAD&amp;lt;/code&amp;gt;, action &amp;lt;code&amp;gt;GETAUTH&amp;lt;/code&amp;gt;) submits a background request of the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;AUTH &amp;lt;i&amp;gt;procname&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;prefix&amp;lt;/i&amp;gt;AUTH &amp;lt;i&amp;gt;nickname&amp;lt;/i&amp;gt; FOR &amp;lt;i&amp;gt;userid&amp;lt;/i&amp;gt; [DR &amp;lt;i&amp;gt;cpu&amp;lt;/i&amp;gt;[,&amp;lt;i&amp;gt;cpu&amp;lt;/i&amp;gt;...]] [DRSTART &amp;lt;i&amp;gt;yyyymmdd&amp;lt;/i&amp;gt;]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The background job builds a temporary procedure named &amp;lt;code&amp;gt;AUTH&amp;lt;i&amp;gt;userid&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;time&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;, and the web procedure waits (up to about 100 seconds) for it, then sends it back. The temporary procedures are deleted on the next request by the same user.&lt;br /&gt;
&lt;br /&gt;
== Disaster Recovery (DR) keys ==&lt;br /&gt;
A DR key adds temporary authorization for additional CPUs, on top of the CPUs already licensed.&lt;br /&gt;
* Enter one or more CPU IDs (8 to 10 hex digits each, separated by commas or blanks) and a start date.&lt;br /&gt;
* The start date must be valid, not more than 30 days in the past, and not more than one year in the future. The key is valid for the DR window starting on that date.&lt;br /&gt;
* Each customer has a &amp;#039;&amp;#039;&amp;#039;DR zap limit&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;DRLIMIT&amp;lt;/code&amp;gt;) and a running count (&amp;lt;code&amp;gt;DRCOUNT&amp;lt;/code&amp;gt;). If the count would exceed the limit, the request is rejected with &amp;quot;DR ZAP limit ... has been reached, contact Rocket support.&amp;quot; To grant more, raise &amp;#039;&amp;#039;Maximum number of DR zaps allowed&amp;#039;&amp;#039; on the customer page.&lt;br /&gt;
* The customer page records the start date and CPUs of the most recent DR zap.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Message !! Meaning / action&lt;br /&gt;
|-&lt;br /&gt;
| Unauthorized - User &amp;#039;&amp;#039;x&amp;#039;&amp;#039; / Customer &amp;#039;&amp;#039;x&amp;#039;&amp;#039; is not authorized || The userid has no access to that customer nickname. Fix the userid&amp;#039;s access.&lt;br /&gt;
|-&lt;br /&gt;
| CPU ID (...) must be between 8 and 10 hex digits || Bad DR CPU ID. Re-enter it.&lt;br /&gt;
|-&lt;br /&gt;
| Disaster Recovery test start date is invalid / too old / too far in the future || Correct the DR start date.&lt;br /&gt;
|-&lt;br /&gt;
| DR ZAP limit ... has been reached || See Disaster Recovery above.&lt;br /&gt;
|-&lt;br /&gt;
| Not found - No authorization zaps called ... || The key procedure is missing for that product prefix.&lt;br /&gt;
|-&lt;br /&gt;
| Internal server error - can&amp;#039;t build authorization zap || The background build did not finish or returned a result smaller than 500 bytes. Check the maintenance daemon and retry; otherwise escalate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source reference ==&lt;br /&gt;
Repository &amp;lt;code&amp;gt;gitm204/maint&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;MAINTP_OBJLIST&amp;lt;/code&amp;gt;: the &amp;#039;&amp;#039;Download authorization keys&amp;#039;&amp;#039; page (&amp;lt;code&amp;gt;authlist&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;MAINTP_DOWNLOAD&amp;lt;/code&amp;gt;: request validation, DR checks, and the &amp;lt;code&amp;gt;AUTH&amp;lt;/code&amp;gt; background request (&amp;lt;code&amp;gt;authSend&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;MAINTP_CUST1&amp;lt;/code&amp;gt;: customer maintenance, CPU entry and matching, DR limit fields&lt;br /&gt;
* &amp;lt;code&amp;gt;MAINTN_START&amp;lt;/code&amp;gt;: routing of the &amp;lt;code&amp;gt;authlist&amp;lt;/code&amp;gt; image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Not documented here: the code that actually computes the encrypted key lives in the background AUTH program, which is not in this repository. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tom</name></author>
	</entry>
</feed>