{"id":230,"date":"2026-11-14T21:48:41","date_gmt":"2026-11-14T21:48:41","guid":{"rendered":"https:\/\/ethertrust.com\/?page_id=230"},"modified":"2026-11-14T22:11:45","modified_gmt":"2026-11-14T22:11:45","slug":"commands","status":"publish","type":"page","link":"https:\/\/ethertrust.com\/index.php\/commands\/","title":{"rendered":"Commands"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">TLS-SE Quick Command Guide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The EtherTrust TLS-SE console provides access to a selected Secure Element through a TLS 1.3 PSK session. Select or reserve an SNI, enter an text command, and submit it. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key slots and algorithm indexes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Commands use a one-letter prefix and a <strong>two-digit hexadecimal index<\/strong>: <code>gXX<\/code>, <code>pXX<\/code>, etc. The last two bits select a slot from 0 to 3. For this guide, the ECC\/RSA selection follows the <strong>requested TLS-SE convention<\/strong> shown below.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>KeyIndex (slot 0)<\/th><th>Algorithm \/ object<\/th><th>Generate command<\/th><\/tr><\/thead><tbody><tr><td><code>00<\/code><\/td><td>secp256k1 (ECC)<\/td><td><code>g00<\/code><\/td><\/tr><tr><td><code>10<\/code><\/td><td>secp256r1 \/ P-256 (ECC)<\/td><td><code>g10<\/code><\/td><\/tr><tr><td><code>20<\/code><\/td><td>RSA-2048<\/td><td><code>g20<\/code><\/td><\/tr><tr><td><code>30<\/code><\/td><td>Secret (AES\/HMAC)<\/td><td><code>t30&lt;hex-secret&gt;<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For slot 1, replace the final digit with <code>1<\/code> (e.g., <code>g01<\/code>, <code>g11<\/code>, <code>g21<\/code>). Slots 2 and 3 work the same way. The index is hexadecimal, not a decimal counter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ECC and RSA \u2014 key operations<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Syntax<\/th><th>Action<\/th><\/tr><\/thead><tbody><tr><td><code>cXX<\/code><\/td><td>Clear the selected key (destructive)<\/td><\/tr><tr><td><code>gXX<\/code><\/td><td>Generate an ECC or RSA key pair<\/td><\/tr><tr><td><code>pXX[parameter]<\/code><\/td><td>Read a public key; for RSA use parameter <code>0<\/code> (modulus) or <code>1<\/code> (public exponent)<\/td><\/tr><tr><td><code>rXX[parameter]<\/code><\/td><td>Read private-key material where permitted (sensitive)<\/td><\/tr><tr><td><code>sXX&lt;hex-data&gt;<\/code><\/td><td>Sign a hexadecimal message with the selected key (up to 32 bytes in the documented single-input mode)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Examples:<\/strong> <code>g00<\/code> generates a secp256k1 key pair in slot 0; <code>p00<\/code> reads its public key. <code>g10<\/code> generates a secp256r1 key pair in slot 0; <code>p10<\/code> reads its public key. <code>g20<\/code> generates RSA-2048 in slot 0; <code>p200<\/code> reads its modulus and <code>p201<\/code> reads its exponent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AES-128 and HMAC \u2014 secrets and operations<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Syntax<\/th><th>Action<\/th><\/tr><\/thead><tbody><tr><td><code>tXX&lt;hex-secret&gt;<\/code><\/td><td>Set a secret; use <code>t30<\/code> for secret slot 0<\/td><\/tr><tr><td><code>AXX&lt;hex-data&gt;<\/code><\/td><td>AES-128 encryption with the selected secret<\/td><\/tr><tr><td><code>aXX&lt;hex-data&gt;<\/code><\/td><td>AES-128 decryption with the selected secret<\/td><\/tr><tr><td><code>hXX&lt;hex-message&gt;<\/code><\/td><td>HMAC-SHA-256 with the selected secret<\/td><\/tr><tr><td><code>HXX&lt;hex-message&gt;<\/code><\/td><td>HMAC-SHA-512 with the selected secret<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">AES-128 requires a 16-byte secret (32 hexadecimal characters). When using the text-mode AES\/HMAC commands, the index can select secret slot 0 as <code>00<\/code>, while <code>t30<\/code> selects the secret object for initialization.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Copy-ready examples<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>?00\n\ng00\np00\nr00\n\ng10\np10\nr10\n\ng20\np200\np201\n\nt3000112233445566778899AABBCCDDEEFF\nA0000112233445566778899AABBCCDDEEFF\nh0048656C6C6F<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Source: <a href=\"http:\/\/ethertrust.com\/wp-content\/uploads\/2026\/11\/tlsse305.pdf\">TLS-SE 3.05 SHELL<\/a> \u2014 sections 3.3, 3.4, 4, 5 and 6.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TLS-SE Quick Command Guide The EtherTrust TLS-SE console provides access to a selected Secure Element through a TLS 1.3 PSK session. Select or reserve an SNI, enter an text command, and submit it. Key slots and algorithm indexes Commands use a one-letter prefix and a two-digit hexadecimal index: gXX, pXX, etc. The last two bits [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-230","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/pages\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":5,"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/pages\/230\/revisions"}],"predecessor-version":[{"id":239,"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/pages\/230\/revisions\/239"}],"wp:attachment":[{"href":"https:\/\/ethertrust.com\/index.php\/wp-json\/wp\/v2\/media?parent=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}