private void SetCryptor(KeyConfiguration keyConfig) { this.m_keyAreaEncryptionKeyIvEncryptor = (IEncryptor) new Rsa2048OaepSha256CryptoDriver(Rsa2048OaepSha256KeyIndex.XciKeyArea); if (keyConfig.GetProdXciHeaderSignKey() != null) { RsaKey xciHeaderSignKey = keyConfig.GetProdXciHeaderSignKey(); this.m_headerSigner = (ISigner) new Rsa2048Pkcs1Sha256SignCryptoDriver(xciHeaderSignKey.KeyModulus, xciHeaderSignKey.KeyPublicExponent, xciHeaderSignKey.KeyPrivateExponent); } else { this.m_headerSigner = (ISigner) new HsmRsa2048Pkcs1Sha256SignCryptoDriver(Rsa2048Pkcs1Sha256KeyIndex.XciHeader); } this.m_initialDataEncryptor = keyConfig.GetProdXciInitialDataEncryptionKey() == null ? (IEncryptor) new HsmAes128CryptoDriver(Aes128KeyIndex.XciInitialData) : (IEncryptor) new Aes128CryptoDriver(keyConfig.GetProdXciInitialDataEncryptionKey().Key); this.m_headerEncryptor = (ICbcModeEncryptor) new Aes128CbcCryptoDriver(Aes128KeyIndex.XciHeader); }