internal SecretKeyPacket( BcpgInputStream bcpgIn) { pubKeyPacket = new PublicKeyPacket(bcpgIn); s2kUsage = bcpgIn.ReadByte(); if (s2kUsage == UsageChecksum || s2kUsage == UsageSha1) { encAlgorithm = (SymmetricKeyAlgorithmTag) bcpgIn.ReadByte(); s2k = new S2k(bcpgIn); } else { encAlgorithm = (SymmetricKeyAlgorithmTag) s2kUsage; } if (!(s2k != null && s2k.Type == S2k.GnuDummyS2K && s2k.ProtectionMode == 0x01)) { if (s2kUsage != 0) { if (((int) encAlgorithm) < 7) { iv = new byte[8]; } else { iv = new byte[16]; } bcpgIn.ReadFully(iv); } } secKeyData = bcpgIn.ReadAll(); }
internal SecretKeyPacket( BcpgInputStream bcpgIn) { pubKeyPacket = new PublicKeyPacket(bcpgIn); s2kUsage = bcpgIn.ReadByte(); if (s2kUsage == UsageChecksum || s2kUsage == UsageSha1) { encAlgorithm = (SymmetricKeyAlgorithmTag)bcpgIn.ReadByte(); s2k = new S2k(bcpgIn); } else { encAlgorithm = (SymmetricKeyAlgorithmTag)s2kUsage; } if (!(s2k != null && s2k.Type == S2k.GnuDummyS2K && s2k.ProtectionMode == 0x01)) { if (s2kUsage != 0) { if (((int)encAlgorithm) < 7) { iv = new byte[8]; } else { iv = new byte[16]; } bcpgIn.ReadFully(iv); } } secKeyData = bcpgIn.ReadAll(); }
internal SecretKeyPacket(BcpgInputStream bcpgIn) { if (this is SecretSubkeyPacket) { this.pubKeyPacket = new PublicSubkeyPacket(bcpgIn); } else { this.pubKeyPacket = new PublicKeyPacket(bcpgIn); } this.s2kUsage = bcpgIn.ReadByte(); if (this.s2kUsage == 255 || this.s2kUsage == 254) { this.encAlgorithm = (SymmetricKeyAlgorithmTag)bcpgIn.ReadByte(); this.s2k = new S2k(bcpgIn); } else { this.encAlgorithm = (SymmetricKeyAlgorithmTag)this.s2kUsage; } if ((this.s2k == null || this.s2k.Type != 101 || this.s2k.ProtectionMode != 1) && this.s2kUsage != 0) { if (this.encAlgorithm < SymmetricKeyAlgorithmTag.Aes128) { this.iv = new byte[8]; } else { this.iv = new byte[16]; } bcpgIn.ReadFully(this.iv); } this.secKeyData = bcpgIn.ReadAll(); }
internal SecretKeyPacket(BcpgInputStream bcpgIn) { if (this is SecretSubkeyPacket) { pubKeyPacket = new PublicSubkeyPacket(bcpgIn); } else { pubKeyPacket = new PublicKeyPacket(bcpgIn); } s2kUsage = ((Stream)bcpgIn).ReadByte(); if (s2kUsage == 255 || s2kUsage == 254) { encAlgorithm = (SymmetricKeyAlgorithmTag)((Stream)bcpgIn).ReadByte(); s2k = new S2k((Stream)(object)bcpgIn); } else { encAlgorithm = (SymmetricKeyAlgorithmTag)s2kUsage; } if ((s2k == null || s2k.Type != 101 || s2k.ProtectionMode != 1) && s2kUsage != 0) { if (encAlgorithm < SymmetricKeyAlgorithmTag.Aes128) { iv = new byte[8]; } else { iv = new byte[16]; } bcpgIn.ReadFully(iv); } secKeyData = bcpgIn.ReadAll(); }
public SecretSubkeyPacket( PublicKeyPacket pubKeyPacket, SymmetricKeyAlgorithmTag encAlgorithm, S2k s2k, byte[] iv, byte[] secKeyData) : base(pubKeyPacket, encAlgorithm, s2k, iv, secKeyData) { }
public SecretKeyPacket(PublicKeyPacket pubKeyPacket, SymmetricKeyAlgorithmTag encAlgorithm, int s2kUsage, S2k s2k, byte[] iv, byte[] secKeyData) { this.pubKeyPacket = pubKeyPacket; this.encAlgorithm = encAlgorithm; this.s2kUsage = s2kUsage; this.s2k = s2k; this.iv = Arrays.Clone(iv); this.secKeyData = secKeyData; }
public SecretKeyPacket( PublicKeyPacket pubKeyPacket, SymmetricKeyAlgorithmTag encAlgorithm, int s2kUsage, S2k s2k, byte[] iv, byte[] secKeyData) { this.pubKeyPacket = pubKeyPacket; this.encAlgorithm = encAlgorithm; this.s2kUsage = s2kUsage; this.s2k = s2k; this.iv = Arrays.Clone(iv); this.secKeyData = secKeyData; }
public SecretKeyPacket(PublicKeyPacket pubKeyPacket, SymmetricKeyAlgorithmTag encAlgorithm, S2k s2k, byte[] iv, byte[] secKeyData) { this.pubKeyPacket = pubKeyPacket; this.encAlgorithm = encAlgorithm; if (encAlgorithm != SymmetricKeyAlgorithmTag.Null) { this.s2kUsage = 255; } else { this.s2kUsage = 0; } this.s2k = s2k; this.iv = Arrays.Clone(iv); this.secKeyData = secKeyData; }
public SecretKeyPacket( PublicKeyPacket pubKeyPacket, SymmetricKeyAlgorithmTag encAlgorithm, S2k s2k, byte[] iv, byte[] secKeyData) { this.pubKeyPacket = pubKeyPacket; this.encAlgorithm = encAlgorithm; if (encAlgorithm != SymmetricKeyAlgorithmTag.Null) { this.s2kUsage = UsageChecksum; } else { this.s2kUsage = UsageNone; } this.s2k = s2k; this.iv = Arrays.Clone(iv); this.secKeyData = secKeyData; }