Commit b9f9327e authored by Denis Filatov's avatar Denis Filatov
Browse files

(+) add VRU and CPS services

(*) use app_aid_list and issuing_aid_list as aliases
(*) fix some minor issues
parent 4a913aec
Loading
Loading
Loading
Loading
+66 −16
Original line number Original line Diff line number Diff line
@@ -11,10 +11,10 @@
                xmlns:date="http://exslt.org/dates-and-times"
                xmlns:date="http://exslt.org/dates-and-times"
                extension-element-prefixes="date"                
                extension-element-prefixes="date"                
                >
                >
 <xsl:variable name="base-time"       select="'2022-01-01'"/>
 <xsl:param    name="base-time"       select="concat(date:year(date:date()), '-01-01')"/>
 <xsl:variable name="local-region"    select="250"/>
 <xsl:param    name="local-region"    select="250"/>
 <xsl:variable name="base-latitude"   select="436169490.0"/>
 <xsl:param    name="base-latitude"   select="436169490.0"/>
 <xsl:variable name="base-longitude"  select="70533080.0"/>
 <xsl:param    name="base-longitude"  select="70533080.0"/>
<!--
<!--
 <xsl:variable name="base-latitude"   select="0"/>
 <xsl:variable name="base-latitude"   select="0"/>
 <xsl:variable name="base-longitude"  select="0"/>
 <xsl:variable name="base-longitude"  select="0"/>
@@ -36,8 +36,36 @@
 <xsl:variable name="AID-GPC"     select="540802"/>
 <xsl:variable name="AID-GPC"     select="540802"/>
 <xsl:variable name="AID-CPM"     select="639"/>
 <xsl:variable name="AID-CPM"     select="639"/>
 <xsl:variable name="AID-VRU"     select="638"/>
 <xsl:variable name="AID-VRU"     select="638"/>
 <xsl:variable name="AID-VAM"     select="638"/>
 <xsl:variable name="AID-SA"      select="540801"/>
 <xsl:variable name="AID-SA"      select="540801"/>


 <xsl:template name="AID-name2value">
  <xsl:param name="aid" />
  <xsl:choose>
   <xsl:when test="$aid = 'CAM'" ><xsl:value-of select="$AID-CAM"/></xsl:when>
   <xsl:when test="$aid = 'DENM'"><xsl:value-of select="$AID-DENM"/></xsl:when>
   <xsl:when test="$aid = 'TLM'" ><xsl:value-of select="$AID-SPAT"/></xsl:when>
   <xsl:when test="$aid = 'SPAT'"><xsl:value-of select="$AID-SPAT"/></xsl:when>
   <xsl:when test="$aid = 'RLT'" ><xsl:value-of select="$AID-MAP"/></xsl:when>
   <xsl:when test="$aid = 'MAP'" ><xsl:value-of select="$AID-MAP"/></xsl:when>
   <xsl:when test="$aid = 'IVI' "><xsl:value-of select="$AID-IVI"/></xsl:when>
   <xsl:when test="$aid = 'TLC'" ><xsl:value-of select="$AID-SREM"/></xsl:when>
   <xsl:when test="$aid = 'SREM'"><xsl:value-of select="$AID-SREM"/></xsl:when>
   <xsl:when test="$aid = 'SSEM'"><xsl:value-of select="$AID-SSEM"/></xsl:when>
   <xsl:when test="$aid = 'GPC'" ><xsl:value-of select="$AID-GPC"/></xsl:when>
   <xsl:when test="$aid = 'RTCMEM'" ><xsl:value-of select="$AID-GPC"/></xsl:when>
   <xsl:when test="$aid = 'CPM'" ><xsl:value-of select="$AID-CPM"/></xsl:when>
   <xsl:when test="$aid = 'CPS'" ><xsl:value-of select="$AID-CPM"/></xsl:when>
   <xsl:when test="$aid = 'VRU'" ><xsl:value-of select="$AID-VAM"/></xsl:when>
   <xsl:when test="$aid = 'VAM'" ><xsl:value-of select="$AID-VAM"/></xsl:when>
   <xsl:when test="$aid = 'CRT-REQ'"><xsl:value-of select="$AID-CRT-REQ"/></xsl:when>
   <xsl:when test="$aid = 'CRL'" ><xsl:value-of select="$AID-CRL"/></xsl:when>
   <xsl:when test="$aid = 'CTL'" ><xsl:value-of select="$AID-CTL"/></xsl:when>
   <xsl:when test="$aid = 'GN-MGMT'"><xsl:value-of select="$AID-GN-MGMT"/></xsl:when>
   <xsl:otherwise><xsl:value-of select="$aid"/></xsl:otherwise>
  </xsl:choose>
 </xsl:template>
 
 <xsl:template match = "/">
 <xsl:template match = "/">
  <xsl:apply-templates select="certificate"/>
  <xsl:apply-templates select="certificate"/>
 </xsl:template>
 </xsl:template>
@@ -144,10 +172,10 @@
   <xsl:apply-templates select="../validity/restriction[@type='time']"/>
   <xsl:apply-templates select="../validity/restriction[@type='time']"/>
   <xsl:apply-templates mode="region" select="../validity/restriction[@type='region']"/>
   <xsl:apply-templates mode="region" select="../validity/restriction[@type='region']"/>
   <xsl:apply-templates select="attribute[@type='assurance_level']"/>
   <xsl:apply-templates select="attribute[@type='assurance_level']"/>
   <xsl:apply-templates select="attribute[@type='its_aid_ssp_list']"/>
   <xsl:apply-templates select="attribute[@type='its_aid_ssp_list' or @type='app_aid_list']"/>
   <xsl:if test="attribute[@type='its_aid_list']">
   <xsl:if test="attribute[@type='its_aid_list' or @type='issuing_aid_list']">
    <certIssuePermissions>
    <certIssuePermissions>
     <xsl:apply-templates select="attribute[@type='its_aid_list']">
     <xsl:apply-templates select="attribute[@type='its_aid_list'  or @type='issuing_aid_list']">
      <xsl:with-param name="certType" select="@type"/>
      <xsl:with-param name="certType" select="@type"/>
     </xsl:apply-templates>
     </xsl:apply-templates>
    </certIssuePermissions>
    </certIssuePermissions>
@@ -177,25 +205,35 @@
  <xsl:comment>level=<xsl:value-of select="$level"/> confidence=<xsl:value-of select="$confidence"/> </xsl:comment>
  <xsl:comment>level=<xsl:value-of select="$level"/> confidence=<xsl:value-of select="$confidence"/> </xsl:comment>
 </xsl:template>
 </xsl:template>
 
 
 <xsl:template match="attribute[@type='its_aid_list']">
 <xsl:template match="attribute[@type='its_aid_list' or @type='issuing_aid_list']">
  <xsl:param name="certType"/>
  <xsl:param name="certType"/>
   <PsidGroupPermissions>
   <PsidGroupPermissions>
    <subjectPermissions>
    <subjectPermissions>
     <xsl:choose>
      <xsl:when test="@all or aid[@value='all'] or aid[@all]">
       <all/>
      </xsl:when>
      <xsl:otherwise>
       <explicit>
       <explicit>
        <xsl:apply-templates mode="certIssuePermissions" select="aid">
        <xsl:apply-templates mode="certIssuePermissions" select="aid">
         <xsl:with-param name="certType" select="$certType"/>
         <xsl:with-param name="certType" select="$certType"/>
        </xsl:apply-templates>
        </xsl:apply-templates>
       </explicit>
       </explicit>
      </xsl:otherwise>
     </xsl:choose>
    </subjectPermissions>
    </subjectPermissions>
    <minChainLength>
    <minChainLength>
     <xsl:choose>
     <xsl:choose>
      <xsl:when test="@minChainLength"><xsl:value-of select="@minChainLength"/></xsl:when>
      <xsl:when test="@minChainLength"><xsl:value-of select="@minChainLength"/></xsl:when>
      <xsl:when test="@minLength"><xsl:value-of select="@minLength"/></xsl:when>
      <xsl:when test="$certType = 'ROOT'">2</xsl:when>
      <xsl:when test="$certType = 'ROOT'">2</xsl:when>
      <xsl:otherwise>1</xsl:otherwise>
      <xsl:otherwise>1</xsl:otherwise>
     </xsl:choose>
     </xsl:choose>
    </minChainLength>
    </minChainLength>
    <chainLengthRange>
    <chainLengthRange>
     <xsl:choose>
     <xsl:choose>
      <xsl:when test="@chainLengthRange"><xsl:value-of select="@chainLengthRange"/></xsl:when>
      <xsl:when test="@lengthRange"><xsl:value-of select="@lengthRange"/></xsl:when>
      <xsl:when test="$certType = 'ROOT'">0</xsl:when>
      <xsl:when test="$certType = 'ROOT'">0</xsl:when>
      <xsl:otherwise>0</xsl:otherwise>
      <xsl:otherwise>0</xsl:otherwise>
     </xsl:choose>
     </xsl:choose>
@@ -209,7 +247,7 @@
        <xsl:text>10000000</xsl:text>
        <xsl:text>10000000</xsl:text>
      </xsl:when>
      </xsl:when>
      <xsl:otherwise>
      <xsl:otherwise>
        <xsl:text>11000000</xsl:text>
        <xsl:text>11000000</xsl:text> <!-- all -->
      </xsl:otherwise>
      </xsl:otherwise>
     </xsl:choose>
     </xsl:choose>
    </eeType>
    </eeType>
@@ -238,6 +276,8 @@
    <xsl:when test="@value = 'TLC' or @value=$AID-SREM or @value='SREM'">02 FF FF E0</xsl:when>
    <xsl:when test="@value = 'TLC' or @value=$AID-SREM or @value='SREM'">02 FF FF E0</xsl:when>
    <xsl:when test="@value = 'SSEM' or @value=$AID-SSEM">01</xsl:when>
    <xsl:when test="@value = 'SSEM' or @value=$AID-SSEM">01</xsl:when>
    <xsl:when test="@value = 'GPC' or @value=$AID-GPC">01</xsl:when>
    <xsl:when test="@value = 'GPC' or @value=$AID-GPC">01</xsl:when>
    <xsl:when test="@value = 'CPM' or @value=$AID-CPM">01</xsl:when>
    <xsl:when test="@value = 'VAM' or @value=$AID-VAM">01</xsl:when>
    <xsl:when test="@value = 'CRT-REQ' or @value = $AID-CRT-REQ">
    <xsl:when test="@value = 'CRT-REQ' or @value = $AID-CRT-REQ">
     <xsl:choose>
     <xsl:choose>
      <xsl:when test="$certType = 'ROOT'">01 FE</xsl:when>
      <xsl:when test="$certType = 'ROOT'">01 FE</xsl:when>
@@ -267,6 +307,8 @@
    <xsl:when test="@value = 'TLC' or @value=$AID-SREM or @value='SREM'">FF 00 00 1F</xsl:when>
    <xsl:when test="@value = 'TLC' or @value=$AID-SREM or @value='SREM'">FF 00 00 1F</xsl:when>
    <xsl:when test="@value = 'SSEM' or @value=$AID-SSEM">FF</xsl:when>
    <xsl:when test="@value = 'SSEM' or @value=$AID-SSEM">FF</xsl:when>
    <xsl:when test="@value = 'GPC' or @value=$AID-GPC">FF</xsl:when>
    <xsl:when test="@value = 'GPC' or @value=$AID-GPC">FF</xsl:when>
    <xsl:when test="@value = 'CPM' or @value=$AID-CPM">FF</xsl:when>
    <xsl:when test="@value = 'VAM' or @value=$AID-VAM">FF</xsl:when>
    <xsl:when test="@value = 'CRT-REQ' or @value = $AID-CRT-REQ">
    <xsl:when test="@value = 'CRT-REQ' or @value = $AID-CRT-REQ">
     <xsl:choose>
     <xsl:choose>
      <xsl:when test="$certType = 'ROOT'">FF 01</xsl:when>
      <xsl:when test="$certType = 'ROOT'">FF 01</xsl:when>
@@ -279,6 +321,10 @@
  <PsidSspRange>
  <PsidSspRange>
   <xsl:comment><xsl:value-of select="@value"/></xsl:comment>
   <xsl:comment><xsl:value-of select="@value"/></xsl:comment>
   <psid>
   <psid>
    <xsl:call-template name="AID-name2value">
      <xsl:with-param name="aid" select="@value"/>
    </xsl:call-template>     
<!--
    <xsl:choose>
    <xsl:choose>
     <xsl:when test="@value = 'CAM' "><xsl:value-of select="$AID-CAM"/></xsl:when>
     <xsl:when test="@value = 'CAM' "><xsl:value-of select="$AID-CAM"/></xsl:when>
     <xsl:when test="@value = 'DENM' "><xsl:value-of select="$AID-DENM"/></xsl:when>
     <xsl:when test="@value = 'DENM' "><xsl:value-of select="$AID-DENM"/></xsl:when>
@@ -288,12 +334,15 @@
     <xsl:when test="@value = 'TLC' or @value = 'SREM'"><xsl:value-of select="$AID-SREM"/></xsl:when>
     <xsl:when test="@value = 'TLC' or @value = 'SREM'"><xsl:value-of select="$AID-SREM"/></xsl:when>
     <xsl:when test="@value = 'SSEM'"><xsl:value-of select="$AID-SSEM"/></xsl:when>
     <xsl:when test="@value = 'SSEM'"><xsl:value-of select="$AID-SSEM"/></xsl:when>
     <xsl:when test="@value = 'GPC'"><xsl:value-of select="$AID-GPC"/></xsl:when>
     <xsl:when test="@value = 'GPC'"><xsl:value-of select="$AID-GPC"/></xsl:when>
     <xsl:when test="@value = 'CPM'"><xsl:value-of select="$AID-CPM"/></xsl:when>
     <xsl:when test="@value = 'VAM'"><xsl:value-of select="$AID-VAM"/></xsl:when>
     <xsl:when test="@value = 'CRT-REQ'"><xsl:value-of select="$AID-CRT-REQ"/></xsl:when>
     <xsl:when test="@value = 'CRT-REQ'"><xsl:value-of select="$AID-CRT-REQ"/></xsl:when>
     <xsl:when test="@value = 'CRL'"><xsl:value-of select="$AID-CRL"/></xsl:when>
     <xsl:when test="@value = 'CRL'"><xsl:value-of select="$AID-CRL"/></xsl:when>
     <xsl:when test="@value = 'CTL'"><xsl:value-of select="$AID-CTL"/></xsl:when>
     <xsl:when test="@value = 'CTL'"><xsl:value-of select="$AID-CTL"/></xsl:when>
     <xsl:when test="@value = 'GN-MGMT'"><xsl:value-of select="$AID-GN-MGMT"/></xsl:when>
     <xsl:when test="@value = 'GN-MGMT'"><xsl:value-of select="$AID-GN-MGMT"/></xsl:when>
     <xsl:otherwise><xsl:value-of select="@value"/></xsl:otherwise>
     <xsl:otherwise><xsl:value-of select="@value"/></xsl:otherwise>
    </xsl:choose>
    </xsl:choose>
-->
   </psid>
   </psid>
   <xsl:if test="string-length($SSPValue) &gt; 0">
   <xsl:if test="string-length($SSPValue) &gt; 0">
    <sspRange>
    <sspRange>
@@ -306,7 +355,7 @@
  </PsidSspRange>
  </PsidSspRange>
 </xsl:template>
 </xsl:template>


 <xsl:template match="attribute[@type='its_aid_ssp_list']">
 <xsl:template match="attribute[@type='its_aid_ssp_list' or @type='app_aid_list']">
   <appPermissions>
   <appPermissions>
    <xsl:apply-templates mode="appPermissions" select="ssp"/>
    <xsl:apply-templates mode="appPermissions" select="ssp"/>
   </appPermissions>
   </appPermissions>
@@ -325,6 +374,8 @@
      <xsl:when test="@aid = 'TLC' or @aid = 'SREM'"><xsl:value-of select="$AID-SREM"/></xsl:when>
      <xsl:when test="@aid = 'TLC' or @aid = 'SREM'"><xsl:value-of select="$AID-SREM"/></xsl:when>
      <xsl:when test="@aid = 'SSEM'"><xsl:value-of select="$AID-SSEM"/></xsl:when>
      <xsl:when test="@aid = 'SSEM'"><xsl:value-of select="$AID-SSEM"/></xsl:when>
      <xsl:when test="@aid = 'GPC'"><xsl:value-of select="$AID-GPC"/></xsl:when>
      <xsl:when test="@aid = 'GPC'"><xsl:value-of select="$AID-GPC"/></xsl:when>
      <xsl:when test="@aid = 'CPM'"><xsl:value-of select="$AID-CPM"/></xsl:when>
      <xsl:when test="@aid = 'VAM'"><xsl:value-of select="$AID-VAM"/></xsl:when>
      <xsl:when test="@aid = 'CRT-REQ'"><xsl:value-of select="$AID-CRT-REQ"/></xsl:when>
      <xsl:when test="@aid = 'CRT-REQ'"><xsl:value-of select="$AID-CRT-REQ"/></xsl:when>
      <xsl:when test="@aid = 'CRL'"><xsl:value-of select="$AID-CRL"/></xsl:when>
      <xsl:when test="@aid = 'CRL'"><xsl:value-of select="$AID-CRL"/></xsl:when>
      <xsl:when test="@aid = 'CTL'"><xsl:value-of select="$AID-CTL"/></xsl:when>
      <xsl:when test="@aid = 'CTL'"><xsl:value-of select="$AID-CTL"/></xsl:when>
@@ -749,7 +800,6 @@
   <sSig/>
   <sSig/>
  </xsl:template>
  </xsl:template>



  <xsl:template name="ConvertDecToHex">
  <xsl:template name="ConvertDecToHex">
    <xsl:param name="index" />
    <xsl:param name="index" />
    <xsl:if test="$index > 0">
    <xsl:if test="$index > 0">