5.15.1 api mobilekey config

Funkce api/mobilekey/config slouží ke čtení a zapisování identifikátorů lokace a šifrovacích klíčů pro autentizaci přes Bluetooth.


Skupiny služeb a privilegií

  • Skupina služeb je Access Control API.

  • Skupina privilegií je Správa přístupu (sledování).


Metody

  • GET – čtení identifikátorů lokace a šifrovacích klíčů

  • PUT – zapisování identifikátorů lokace a šifrovacích klíčů


Požadavek GET

Pro metodu GET se nepoužívají žádné parametry.

Odpověď na požadavek GET je ve formátu application/jsonVýsledný objekt obsahuje klíče location, keys a pairingKey.

Tabulka 1. Odpověď na klíče JSON požadavku GET

KlíčTypické vrácené hodnotyPopis
locationŘetězeclocation je identifikátor lokality zařízení 2N. Podrobnosti jsou popsány v sekci Request.
keysPole objektů obsahujících šifrovací klíče

keys obsahuje šifrovací klíče, které slouží k zabezpečení komunikace mezi zařízením 2N a zařízením sloužícím k autentizaci pomocí Bluetooth. Délka pole je vždy 4 (pro chybějící klíče se vrací prázdné objekty). Objekty v poli mají tyto klíče: 

  • type – typ algoritmu může být: ecc, rsa, unknown. Klíč je nepovinný.
  • publicKey – veřejný klíč kódovaný pomocí Base64 ze souboru DER. Klíč je povinný.
  • ctime – čas vytvoření prezentovaný jako unixový čas v 32bitovém bezznaménkovém celém čísle. Tento klíč je nepovinný a je přítomen, jen když klíč má známý čas vytvoření.
pairingKeyObjekt obsahující šifrovací klíč nebo chybějícípairingKey se exportuje, jestliže jsou na zařízení 2NOS přítomna data párovacího klíče. Exportuje se ve stejném formátu jako ostatní klíče v sekci keys. Tento klíč je nepovinný.
{   "success":true,
   "result":{
      "location":"54-1046-0745",
      "keys":[
         {
            "type":"rsa",
            "publicKey":"MIICXAIBAAKBgQCXmIX1U7wGFW3FiDdhq7BIktIc4lg7X2IMxLE83I75S3BRPL/7LCAefnMUJL0uyyFdeMpRoOVhVs/iPfnYPNf4AiQO4lIQh8tSKDeat5IfXSMy9zXMyHeBOBg19R+/uShyJsnLoJoB5MJDowwkOuSMIskK+dA17+3E/Y+ujhhpCQIDAQABAoGAfzHOVAUp4cDhFbgxH5Y6lun5uZqAhXCGiEgQngxBOhJ97uuV+V0QpgVa8S/SPAzbtd2/g7YIQB/i1OVDWJfUbEiuBhr6ZHwk5jfCfF0KkmTQtEBd4bbCz+FWyoy19DUXdsLNMf8GW4eWhooX+NCqc2sfloO4Nz+SpXmqpsMIc/ECQQDk63xVnRqPCgG3fqpLVGWkQl9wmYAIUP8MrdOAfRYfSC/LrjX55lCRj4mAnSzRQfNclSEz2mITkoaCcjn1lTmXAkEAqYdjMEhIrg4LpYzqZDOF6v6w/sUcLkepktTBYCFFV+YgOrlPr7akR8XtED8X/6QHwWciphp/5OBoJ/KRAWWGXwJAZ0YNe5o6pxk+mQed0AotKKOA5w15A0d3KMMqzaag2k/4sAzR8QGEi4aT4+AEngsAvV3R8tCsumO6JxNdLnu51QJAO6abzB1jFXtztajDwMYwVOORO9P3eoFUtYmPEVgjoi4jIQabd2R4oZiPNaw9sYHyCKdVlcS1Q7+CZqv/QdKLWQJBAKeoGxqcpDHvMtzgcSj3lZz0Z8dWmgtTF7QO5boHhxtZ1SEo3MvlicVue8U1tV2XjUR6r7YueuusM9GxhBqr5YI=",
            "ctime":1608047754
         },
         {
            "type":"rsa",
            "publicKey":"MIICXQIBAAKBgQCfyMHsTjPKf3Dv00gwMrQAR5UZrpt3tBy3kBvPv4R4o9H7Zzse7+yKwfPTddKJQOL1IrCX06Zo8SZAMotjjpMy1M9K27ZB95YtAYiGLLRWeLAJUkL4gixgkHeS+T8uQxLW7/etqwU00uPmd94ZEZy226CHdKQW3zge2WEtuQ5oCwIDAQABAoGAZCp6RyUPGpahufZ9fpmKddJqCduH4paqmfhhNu8coHQyIqQoT9CgPKwxqhJmlVxz6rCAe+1WmNrz27LT5uluJKViU0XnLV7FHG2smagjQ3rPepgOGcayphuiIlHikaBCafxnCRV/E1Ifg08d1xK4cK858yMjpoEgDdEJi0R2qmECQQDXqtwGiXYSRnZzR90eCjrip6IIQqJuARE91LOLyOhkPzCiPPf2IrT1JQsw6Tu0ZTm3NJzZ0VSEdZU6s2NcKHsnAkEAvap5GacBi9EZ9lsiaQj/dVA6LbUnBCo7qwRj7SUYw6ikCvmcLjdpjR80twj3FTAXB0sTeWgyT42HmBpPX2dKfQJBAMc5Ml9nhAaFyM3dSMmDMbpGmEuBIoLzwXWYkvNB+EsChG6aW4Snsvnx6lCYY2rVR2eR1oLv+F8UL3I2XEa5rmkCQBZXhnxnF9+Iei5y/dKxpKYFFVVdCYOMFgtHMR42SHyD2Q8R6Dvpex2Ml4EYJULxr0TEqz6Z75M/cMGSF9d9K2ECQQDEffSJoyjYwY2rGbPX8N5d9yrp3HLRbH4RjFGR0zCbSaA+PTQwxu2q1Asd8g7LN95UmyvliddJgayDIwnJSGse",
            "ctime":1608046389
         },
         {
            "type":"rsa",
            "publicKey":"MIICXQIBAAKBgQCwWXVu2CNcUFgoqQBQ5NjaLJVEWuAFryK/h9jfNe+qDufFS+itWsWfvyvMkUhhiidPCpgoOgqEipkYa0q3maPKPS4CJXZBFo++JSzsgw6a/VxH0n8joHfJf6nIEcCGcuMAa/HOEoOZq7uL7n2jTsyVnnDbYClXENh4Np9izSX23QIDAQABAoGBAI5iDFDMrfAw5p0dpqWpv/SXnoUsIkg0mYeu9UlzUOgrVLKVkW22Jm3OelyWyKwIUaid0zBXfHp7NRTkO9V1dSnS5CnuO73tye9MV5TeLqjMSBVCSPZWJK//hu1VaRAL9UTZc+1e277lOB8c1Fup4uxR4b757brrclNKjT1U4Hh5AkEA4mFz+IrgTtdiLNLQdww5B3ZELmaOl+lkYgC50hvqy2TDNGGiKGPqYmEd/4ySHBmaGnoh9ZFxnC/ItrNEXBGdawJBAMdsOd2qDdbOSie2TpsGJs5eEUrLX6yW/w+siO4SXczCTnJXckZyj79eEOcnrTRK+SuDsN+8+wmO3b9CZqxOxtcCQQCUkukOAfddRzaDvIhc2YTERPZSjbSgNulO+LL8Fp5uht8mjb1jTNATaTHK+nMaRiNBpU6MYLxziVjtr5H56wWpAkA0fXYVtEcEPTQjk8bI4yufsf7XMwSxxuTH2WAJWeg6lwJS8lVv2YOgmT/VuAnM89b17ynFGlbxQxt21iF0RR/tAkA0nJMkbD3daWYAutdOQjzemae3O0O9r90NZ/Khj5tQpv8gLe6EEpyFUNQNqodNoTmkIJJmPLlBjyx+zTspdE+C"
         },
         {
            
         }
      ]
   }
}

Požadavek PUT

Parametry požadavku PUT se ukládají ve formátu application/json.

Tabulka 2 Klíče JSON požadavku PUT

Název klíčePovinnýOčekávané hodnotyVýchozí hodnotaPopis
locationNeŘetězec o maximální délce 127 znaků

location definuje lokaci zařízení pro účely autentizace přes Bluetooth. Akceptován je každý řetězec, který danou lokaci jednoznačně definuje. Lokace je pak přenášena zařízeními 2N a slouží Bluetoothovému autentizačnímu zařízení k vybrání relevantních autentizačních parametrů.

key

NePole objektů obsahující šifrovací klíče

key umožňuje nahrát data pro primární šifrovací klíč. Pole obsahuje šifrovací klíče k zabezpečení komunikace mezi zařízením 2N a zařízením určeným k provedení autentizace přes Bluetooth. Objekty v poli mají tyto klíče:

  • type – algoritmus "ecc" ("rsa" pouze při aktivním Režimu Kompatibility)

  • key – data šifrovacího klíče (formát DER kódovaný v Base64), používají se 1024bitové šifrovací klíče, tento klíč je povinný,

  • ctime – čas vytvoření ve tvaru Unixového času, 32bitové celé číslo bez znaménka, tento klíč není povinný.

keys

NePole objektů obsahující šifrovací klíče

keys obsahuje šifrovací klíče k zabezpečení komunikace mezi zařízením 2N a zařízením určeným k provedení autentizace přes Bluetooth. Objekty v poli mají tyto klíče:

  • type – algoritmus "ecc" nebo "rsa"

  • key – data šifrovacího klíče (formát DER kódovaný v Base64), používají se 1024bitové šifrovací klíče, tento klíč je povinný,

  • ctime – čas vytvoření ve tvaru Unixového času, 32bitové celé číslo bez znaménka, tento klíč není povinný.

Zařízení 2N umožňují použití maximálně 4 šifrovacích klíčů najednou. První šifrovací klíč v poli se považuje za primární šifrovací klíč a ostatní klíče jsou sekundární. Jestliže se Bluetoothové zařízení autentizuje jakýmkoli sekundárním šifrovacím klíčem, zařízení 2N je vyzve k nahrazení tohoto šifrovacího klíče klíčem primárním. Proto by se vždy měl na začátek pole přidávat nejnovější šifrovací klíč.

Je-li předloženo pole keys kratší než 4, jsou chybějící šifrovací klíče vymazány (nahrazeny prázdným objektem).

Výchozí hodnota parametru location je sériové číslo zařízení 2N. Chcete-li přidat do jedné lokace více zařízení, patřičně tuto hodnotu změňte.


Klíč type není povinný. Je-li vynechán algoritmus, zařízení 2N automaticky předpokládá použití algoritmu RSA (rsa). P Když není aktivní Režim Kompatibility, pak type první položky v keys musí být typu ECC, další klíče mohou pak být typu ECC nebo RSA.

Parametr klíče ctime není povinný. Je-li čas vytvoření vynechán nebo neplatný, zařízení 2N zobrazí v konfiguračním webu datum 1. ledna 1970 00:00:00 a pro tento šifrovací klíč nevrátí ctime.



Příklad požadavku PUT – nahrání 2 šifrovacích klíčů

URL: https://192.168.1.1/api/mobilekey/config 
{
   "location":"LocationUniqueID",
   "keys":[
      {
         "type":"rsa", 				// compatibility mode is active (rsa supported)
         "key":"MIICXAIBAqr5YI (...)",
         "ctime":1608047606
      },
      {
         "type":"rsa",
         "key":"MIICXQInJSGse (...)",
         "ctime":1608044538
      }
   ]
}

Příklad požadavku PUT – nahrání primárního šifrovacích klíče

URL: https://192.168.1.1/api/mobilekey/config  
{
  "location": "00-0001-0014",
  "key": {
    "key": "MIIQInJSdfsed...",
    "type": "ecc",
    "ctime": 1733159857
  }
}