protected PgpSignatureSubpacket(PgpSignatureSubpacket FromPacket) { _eType = FromPacket.eType; _eStatus = FromPacket.eStatus; _iHeaderLength = FromPacket.iHeaderLength; _iDataLength = FromPacket.iDataLength; _abRawBytes = FromPacket.abRawBytes; }
public PgpSignatureSubpacket(byte[] abPaketBytes, int iOffset) : this(nSubpacketType.Reserved) { byte bLengthByte, bPacketTag; int i; if ((abPaketBytes == null) || (iOffset >= abPaketBytes.Length - 2)) { _eStatus = nStatus.ParseError; } else { _eStatus = nStatus.OK; bLengthByte = abPaketBytes[iOffset]; if (bLengthByte < cbSmallestTwoByteLengthNew) { _iDataLength = bLengthByte; _iHeaderLength = 1; } else if (bLengthByte < 0xe0) { _iDataLength = ((bLengthByte - cbSmallestTwoByteLengthNew) << 8) + abPaketBytes[iOffset + 1] + cbSmallestTwoByteLengthNew; _iHeaderLength = 2; } else if (bLengthByte == 0xff) { _iDataLength = abPaketBytes[iOffset + 1] << 24 | abPaketBytes[iOffset + 2] << 16 | abPaketBytes[iOffset + 3] << 8 | abPaketBytes[iOffset + 4]; _iHeaderLength = 5; } else { _eStatus = nStatus.ParseError; } if (_eStatus == nStatus.OK) { bPacketTag = abPaketBytes[iOffset + _iHeaderLength]; _eType = (nSubpacketType)(bPacketTag & 0x7f); _abRawBytes = new byte[_iHeaderLength + _iDataLength]; for (i = 0; i < _iHeaderLength + _iDataLength; i++) { _abRawBytes[i] = abPaketBytes[iOffset + i]; } } } }
protected PgpSignatureSubpacket(nSubpacketType eType) : base() { _eType = eType; }