Inheritance: Springburg.Cryptography.OpenPgp.Packet.Packet
示例#1
0
        public Stream GetPacketStream(StreamablePacket packet)
        {
            if (packet == null)
            {
                throw new ArgumentNullException(nameof(packet));
            }

            if (inClearText)
            {
                if (packet is LiteralDataPacket && hashHeaders != null)
                {
                    this.stream.Write(Encoding.ASCII.GetBytes("-----BEGIN PGP SIGNED MESSAGE-----\r\n"));
                    this.stream.Write(Encoding.ASCII.GetBytes("Hash: " + String.Join(", ", hashHeaders) + "\r\n\r\n"));
                    return(new DashEscapeStream(this, this.stream));
                }
                else
                {
                    throw new InvalidOperationException();
                }
            }

            if (this.writer == null)
            {
                StartArmor(packet.Tag);
                Debug.Assert(this.writer != null);
            }
            return(this.writer.GetPacketStream(packet));
        }
示例#2
0
        public Stream GetPacketStream(StreamablePacket packet)
        {
            if (currentPacketStream != null)
            {
                throw new InvalidOperationException("Streamable packet is currently being written");
            }

            var packetStream = new PacketOutputStream(this, stream, packet.Tag, canBePartial: true, preferOldFormat: preferOldFormat);

            packet.EncodeHeader(packetStream);
            currentPacketStream = packetStream;
            return(packetStream);
        }