<sunSpecModels v="1">
  <!-- 9: set security certificate  -->
  <model id="9" len="93">
    <block len="92">
      <point id="CertUID" offset="0" type="uint16" access="rw" mandatory="true" />
      <point id="CertRole" offset="1" type="uint16" access="rw" mandatory="true" />
      <point id="Fmt"   offset="2" type="enum16" access="rw" mandatory="true">
        <symbol id="NONE">0</symbol>
        <symbol id="X509_PEM">1</symbol>
        <symbol id="X509_DER">2</symbol>
      </point>
      <point id="Typ"   offset="3" type="enum16" access="rw" mandatory="true">
        <symbol id="DEV_KEY_PAIR">0</symbol>
        <symbol id="DEV_SHARED_KEY">1</symbol>
        <symbol id="OPERATOR_PUB">2</symbol>
        <symbol id="OPERATOR_SHARED">3</symbol>
        <symbol id="CA_PUB">4</symbol>
      </point>
      <point id="TotLn" offset="4" type="uint16" access="rw" mandatory="true" />
      <point id="FrgLn" offset="5" type="uint16" access="rw" mandatory="true" />
      <point id="Frg1" offset="6" type="uint16" access="rw" mandatory="true" />
      <point id="Frg2" offset="7" type="uint16" access="rw" mandatory="true" />
      <point id="Frg3" offset="8" type="uint16" access="rw" mandatory="true" />
      <point id="Frg4" offset="9" type="uint16" access="rw" mandatory="true" />
      <point id="Frg5" offset="10" type="uint16" access="rw" mandatory="true" />
      <point id="Frg6" offset="11" type="uint16" access="rw" mandatory="true" />
      <point id="Frg7" offset="12" type="uint16" access="rw" mandatory="true" />
      <point id="Frg8" offset="13" type="uint16" access="rw" mandatory="true" />
      <point id="Frg9" offset="14" type="uint16" access="rw" mandatory="true" />
      <point id="Frg10" offset="15" type="uint16" access="rw" mandatory="true" />
      <point id="Frg11" offset="16" type="uint16" access="rw" mandatory="true" />
      <point id="Frg12" offset="17" type="uint16" access="rw" mandatory="true" />
      <point id="Frg13" offset="18" type="uint16" access="rw" mandatory="true" />
      <point id="Frg14" offset="19" type="uint16" access="rw" mandatory="true" />
      <point id="Frg15" offset="20" type="uint16" access="rw" mandatory="true" />
      <point id="Frg16" offset="21" type="uint16" access="rw" mandatory="true" />
      <point id="Frg17" offset="22" type="uint16" access="rw" mandatory="true" />
      <point id="Frg18" offset="23" type="uint16" access="rw" mandatory="true" />
      <point id="Frg19" offset="24" type="uint16" access="rw" mandatory="true" />
      <point id="Frg20" offset="25" type="uint16" access="rw" mandatory="true" />
      <point id="Frg21" offset="26" type="uint16" access="rw" mandatory="true" />
      <point id="Frg22" offset="27" type="uint16" access="rw" mandatory="true" />
      <point id="Frg23" offset="28" type="uint16" access="rw" mandatory="true" />
      <point id="Frg24" offset="29" type="uint16" access="rw" mandatory="true" />
      <point id="Frg25" offset="30" type="uint16" access="rw" mandatory="true" />
      <point id="Frg26" offset="31" type="uint16" access="rw" mandatory="true" />
      <point id="Frg27" offset="32" type="uint16" access="rw" mandatory="true" />
      <point id="Frg28" offset="33" type="uint16" access="rw" mandatory="true" />
      <point id="Frg29" offset="34" type="uint16" access="rw" mandatory="true" />
      <point id="Frg30" offset="35" type="uint16" access="rw" mandatory="true" />
      <point id="Frg31" offset="36" type="uint16" access="rw" mandatory="true" />
      <point id="Frg32" offset="37" type="uint16" access="rw" mandatory="true" />
      <point id="Frg33" offset="38" type="uint16" access="rw" mandatory="true" />
      <point id="Frg34" offset="39" type="uint16" access="rw" mandatory="true" />
      <point id="Frg35" offset="40" type="uint16" access="rw" mandatory="true" />
      <point id="Frg36" offset="41" type="uint16" access="rw" mandatory="true" />
      <point id="Frg37" offset="42" type="uint16" access="rw" mandatory="true" />
      <point id="Frg38" offset="43" type="uint16" access="rw" mandatory="true" />
      <point id="Frg39" offset="44" type="uint16" access="rw" mandatory="true" />
      <point id="Frg40" offset="45" type="uint16" access="rw" mandatory="true" />
      <point id="Frg41" offset="46" type="uint16" access="rw" mandatory="true" />
      <point id="Frg42" offset="47" type="uint16" access="rw" mandatory="true" />
      <point id="Frg43" offset="48" type="uint16" access="rw" mandatory="true" />
      <point id="Frg44" offset="49" type="uint16" access="rw" mandatory="true" />
      <point id="Frg45" offset="50" type="uint16" access="rw" mandatory="true" />
      <point id="Frg46" offset="51" type="uint16" access="rw" mandatory="true" />
      <point id="Frg47" offset="52" type="uint16" access="rw" mandatory="true" />
      <point id="Frg48" offset="53" type="uint16" access="rw" mandatory="true" />
      <point id="Frg49" offset="54" type="uint16" access="rw" mandatory="true" />
      <point id="Frg50" offset="55" type="uint16" access="rw" mandatory="true" />
      <point id="Frg51" offset="56" type="uint16" access="rw" mandatory="true" />
      <point id="Frg52" offset="57" type="uint16" access="rw" mandatory="true" />
      <point id="Frg53" offset="58" type="uint16" access="rw" mandatory="true" />
      <point id="Frg54" offset="59" type="uint16" access="rw" mandatory="true" />
      <point id="Frg55" offset="60" type="uint16" access="rw" mandatory="true" />
      <point id="Frg56" offset="61" type="uint16" access="rw" mandatory="true" />
      <point id="Frg57" offset="62" type="uint16" access="rw" mandatory="true" />
      <point id="Frg58" offset="63" type="uint16" access="rw" mandatory="true" />
      <point id="Frg59" offset="64" type="uint16" access="rw" mandatory="true" />
      <point id="Frg60" offset="65" type="uint16" access="rw" mandatory="true" />
      <point id="Frg61" offset="66" type="uint16" access="rw" mandatory="true" />
      <point id="Frg62" offset="67" type="uint16" access="rw" mandatory="true" />
      <point id="Frg63" offset="68" type="uint16" access="rw" mandatory="true" />
      <point id="Frg64" offset="69" type="uint16" access="rw" mandatory="true" />
      <point id="Frg65" offset="70" type="uint16" access="rw" mandatory="true" />
      <point id="Frg66" offset="71" type="uint16" access="rw" mandatory="true" />
      <point id="Frg67" offset="72" type="uint16" access="rw" mandatory="true" />
      <point id="Frg68" offset="73" type="uint16" access="rw" mandatory="true" />
      <point id="Frg69" offset="74" type="uint16" access="rw" mandatory="true" />
      <point id="Frg70" offset="75" type="uint16" access="rw" mandatory="true" />
      <point id="Frg71" offset="76" type="uint16" access="rw" mandatory="true" />
      <point id="Frg72" offset="77" type="uint16" access="rw" mandatory="true" />
      <point id="Frg73" offset="78" type="uint16" access="rw" mandatory="true" />
      <point id="Frg74" offset="79" type="uint16" access="rw" mandatory="true" />
      <point id="Frg75" offset="80" type="uint16" access="rw" mandatory="true" />
      <point id="Frg78" offset="81" type="uint16" access="rw" mandatory="true" />
      <point id="Frg79" offset="82" type="uint16" access="rw" mandatory="true" />
      <point id="Frg80" offset="83" type="uint16" access="rw" mandatory="true" />
      <point id="Ts"   offset="84" type="uint32" access="rw" mandatory="true" />
      <point id="Ms" offset="86" type="uint16" access="rw" mandatory="true" />
      <point id="Seq" offset="87" type="uint16" access="rw" mandatory="true" />
      <point id="UID" offset="88" type="uint16" access="rw" mandatory="true" />
      <point id="Role" offset="89" type="uint16" access="rw" mandatory="true" />
      <point id="Alg"   offset="90" type="enum16" access="rw" mandatory="true">
        <symbol id="NONE">0</symbol>
        <symbol id="AES-GMAC-64">1</symbol>
        <symbol id="ECC-256">2</symbol>
      </point>
      <point id="N" offset="91" type="uint16" access="rw" mandatory="true" />
    </block>
    <block type="repeating" len="1">
      <point id="Cert" offset="0" type="uint16" access="rw" mandatory="true" />
    </block>
  </model>
  <strings id="9" locale="en">
    <model>
      <label>Set Operator Security Certificate</label>
      <description>Security model for PKI</description>
    </model>
    <point id="Fmt">
      <label>Format</label>
      <description>X.509 format of the certificate. DER or PEM.</description>
      <symbol id="NONE"><label>NONE</label></symbol>
      <symbol id="X509_PEM"><label>PEM</label></symbol>
      <symbol id="X509_DER"><label>DER</label></symbol>
    </point>
    <point id="N">
      <label>N</label>
      <description>Number of registers to follow for the certificate</description>
    </point>
    <point id="UID">
      <label>UID</label>
      <description>User ID for the request signature</description>
    </point>
    <point id="CertUID">
      <label>Cert_UID</label>
      <description>User ID for this certificate</description>
    </point>
    <point id="CertRole">
      <label>Cert_Role</label>
      <description>Role for this certificate</description>
    </point>
    <point id="Fmt">
      <label>Format</label>
      <description>Format of this certificate</description>
    </point>
    <point id="Typ">
      <label>Type</label>
      <description>Type of this certificate</description>
    </point>
    <point id="Frg1">
      <label>Frag1</label>
      <description>First word of this fragment</description>
    </point>
    <point id="Frg80">
      <label>Frag80</label>
      <description>Last word of this fragment</description>
    </point>
    <point id="TotLn">
      <label>Total Length</label>
      <description>Total Length of the Certificate</description>
      <notes>In registers, zero padded.</notes>
    </point>
    <point id="FrgLn">
      <label>Fragment length</label>
      <description>Length of this fragment</description>
      <notes>Maximum fragment length is 80 registers</notes>
    </point>
    <point id="Ts">
      <label>Timestamp</label>
      <description>Timestamp value is the number of seconds since January 1, 2000</description>
      <notes></notes>
    </point>
    <point id="Ms">
      <label>Milliseconds</label>
      <description>Millisecond counter 0-999</description>
      <notes></notes>
    </point>
    <point id="Seq">
      <label>Sequence</label>
      <description>Sequence number of request</description>
      <notes>Shall be advanced for each request</notes>
    </point>
    <point id="Role">
      <label>Role</label>
      <description>Signing key used 0-5</description>
      <notes>Each controller is assigned a key index that maps to their access control role</notes>
    </point>
    <point id="Alg">
      <label>Algorithm</label>
      <description>Algorithm used to compute the digital signature</description>
      <notes>For future proof</notes>
      <symbol id="NONE">
        <label>NONE</label>
        <description>No digital signature</description>
        <notes>For test purposes only</notes>
      </symbol>
      <symbol id="AES-GMAC-64">
        <label>AES-GMAC-64</label>
        <description>64 bit AES signature algorithm is used</description>
        <notes></notes>
      </symbol>
      <symbol id="ECC-256">
        <label>ECC-256</label>
        <description>256 bit ECC signature algorithm is used</description>
        <notes></notes>
      </symbol>
    </point>
  </strings>
</sunSpecModels>
