Ejemplo n.º 1
0
 function testA256KWWith246Key()
 {
     $kek = pack('H*', '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F');
     $key = pack('H*', '00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F');
     $alg = new AESKeyWrap('A256KW');
     $set = $this->getKeySet($kek);
     $headers = array();
     $encrypted_key = $alg->encryptKey($key, $set, $headers);
     $this->assertEquals($this->hex2base64url('28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21'), $encrypted_key);
     $decrypted_key = $alg->decryptKey($encrypted_key, $set, $headers);
     $this->assertEquals($key, $decrypted_key);
 }
Ejemplo n.º 2
0
 public function getSupportedAlgs()
 {
     $results = array();
     $aeskw = new AESKeyWrap(null);
     $aeskw_algs = $aeskw->getSupportedAlgs();
     $hash_algs = hash_algos();
     foreach (self::$alg_params as $alg => $params) {
         list($dummy, $aeskw_alg) = explode('+', $alg, 2);
         if (in_array($params['hash'], $hash_algs) && in_array($aeskw_alg, $aeskw_algs)) {
             $results[] = $alg;
         }
     }
     return $results;
 }