コード例 #1
0
ファイル: KeyManager.cs プロジェクト: orf53975/hadoop.net
        /// <exception cref="System.IO.IOException"/>
        public KeyManager(string blockpoolID, NamenodeProtocol namenode, bool encryptDataTransfer
                          , Configuration conf)
        {
            this.namenode            = namenode;
            this.encryptDataTransfer = encryptDataTransfer;
            ExportedBlockKeys keys = namenode.GetBlockKeys();

            this.isBlockTokenEnabled = keys.IsBlockTokenEnabled();
            if (isBlockTokenEnabled)
            {
                long updateInterval = keys.GetKeyUpdateInterval();
                long tokenLifetime  = keys.GetTokenLifetime();
                Log.Info("Block token params received from NN: update interval=" + StringUtils.FormatTime
                             (updateInterval) + ", token lifetime=" + StringUtils.FormatTime(tokenLifetime));
                string encryptionAlgorithm = conf.Get(DFSConfigKeys.DfsDataEncryptionAlgorithmKey
                                                      );
                this.blockTokenSecretManager = new BlockTokenSecretManager(updateInterval, tokenLifetime
                                                                           , blockpoolID, encryptionAlgorithm);
                this.blockTokenSecretManager.AddKeys(keys);
                // sync block keys with NN more frequently than NN updates its block keys
                this.blockKeyUpdater = new KeyManager.BlockKeyUpdater(this, updateInterval / 4);
                this.shouldRun       = true;
            }
            else
            {
                this.blockTokenSecretManager = null;
                this.blockKeyUpdater         = null;
            }
        }
コード例 #2
0
ファイル: TestPBHelper.cs プロジェクト: orf53975/hadoop.net
 internal virtual void Compare(ExportedBlockKeys expKeys, ExportedBlockKeys expKeys1
                               )
 {
     BlockKey[] allKeys  = expKeys.GetAllKeys();
     BlockKey[] allKeys1 = expKeys1.GetAllKeys();
     NUnit.Framework.Assert.AreEqual(allKeys.Length, allKeys1.Length);
     for (int i = 0; i < allKeys.Length; i++)
     {
         Compare(allKeys[i], allKeys1[i]);
     }
     Compare(expKeys.GetCurrentKey(), expKeys1.GetCurrentKey());
     NUnit.Framework.Assert.AreEqual(expKeys.GetKeyUpdateInterval(), expKeys1.GetKeyUpdateInterval
                                         ());
     NUnit.Framework.Assert.AreEqual(expKeys.GetTokenLifetime(), expKeys1.GetTokenLifetime
                                         ());
 }