KeysInfo(KrbIdentity identity) throws KrbException { Map<EncryptionType, EncryptionKey> keymap = identity.getKeys(); this.etypes = new String[keymap.size()]; this.keys = new byte[keymap.size()][]; this.kvnos = new String[keymap.size()]; int i = 0; for (Map.Entry<EncryptionType, EncryptionKey> entryKey : keymap.entrySet()) { etypes[i] = entryKey.getKey().getValue() + ""; try { keys[i] = entryKey.getValue().encode(); } catch (IOException e) { throw new KrbException("encode key failed", e); } kvnos[i] = entryKey.getValue().getKvno() + ""; i++; } }
KeysInfo(KrbIdentity identity) throws KrbException { Map<EncryptionType, EncryptionKey> keymap = identity.getKeys(); this.etypes = new String[keymap.size()]; this.keys = new byte[keymap.size()][]; this.kvnos = new String[keymap.size()]; int i = 0; for (Map.Entry<EncryptionType, EncryptionKey> entryKey : keymap.entrySet()) { etypes[i] = entryKey.getKey().getValue() + ""; try { keys[i] = entryKey.getValue().encode(); } catch (IOException e) { throw new KrbException("encode key failed", e); } kvnos[i] = entryKey.getValue().getKvno() + ""; i++; } }
public void setKeys(Map<EncryptionType, EncryptionKey> keys) throws KeeperException, IOException { if (ZKUtil.checkExists(this.zk, IdentityZNodeHelper.getKeysZNode(this.identityName)) == -1) { ZKUtil.createWithParents(this.zk, IdentityZNodeHelper.getKeysZNode(this.identityName)); } Iterator<Map.Entry<EncryptionType, EncryptionKey>> it = keys.entrySet().iterator(); while (it.hasNext()) { Map.Entry<EncryptionType, EncryptionKey> pair = it.next(); EncryptionType key = (EncryptionType) pair.getKey(); ZKUtil.createWithParents(this.zk, IdentityZNodeHelper.getKeyTypeZNode(this.identityName, key.getName())); EncryptionKey value = (EncryptionKey) pair.getValue(); ZKUtil.createSetData(this.zk, IdentityZNodeHelper.getEncryptionKeyZNode(this.identityName, key.getName()), value.encode()); ZKUtil.createSetData(this.zk, IdentityZNodeHelper.getEncryptionKeyNoZNode(this.identityName, key.getName()), BytesUtil.int2bytes(value.getKvno(), true)); } }