Skip to content

Commit 4fb032f

Browse files
committed
packet: support writing key packets
1 parent a5e3931 commit 4fb032f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/packet.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,14 @@ impl Packet {
143143

144144
let body = match self {
145145
&Packet::Signature(ref signature) => signature.to_bytes()?,
146+
&Packet::SecretKey(ref key) => key.to_bytes()?,
147+
&Packet::PublicKey(ref key) => key.to_bytes()?,
148+
&Packet::SecretSubkey(ref key) => key.to_bytes()?,
146149
&Packet::CompressedData(ref cdata) => cdata.to_bytes()?,
147150
&Packet::Marker => Vec::from(marker::MARKER_PACKET),
148151
&Packet::LiteralData(ref data) => data.to_bytes()?,
149152
&Packet::UserId(ref id) => Vec::from(id.as_bytes()),
153+
&Packet::PublicSubkey(ref key) => key.to_bytes()?,
150154
p => bail!(PacketError::UnimplementedType { packet_type: format!("{:?}", p) }),
151155
};
152156

@@ -199,9 +203,9 @@ impl Packet {
199203
2 => Packet::Signature(SignaturePacket::from_bytes(packet_data)?),
200204
3 => Packet::SymmetricKeySessionKey,
201205
4 => Packet::OnePassSignature,
202-
5 => Packet::SecretKey(Key::from_bytes(packet_data, false)?),
203-
6 => Packet::PublicKey(Key::from_bytes(packet_data, false)?),
204-
7 => Packet::SecretSubkey(Key::from_bytes(packet_data, true)?),
206+
5 => Packet::SecretKey(Key::from_bytes(packet_data)?),
207+
6 => Packet::PublicKey(Key::from_bytes(packet_data)?),
208+
7 => Packet::SecretSubkey(Key::from_bytes(packet_data)?),
205209
8 => Packet::CompressedData(CompressedDataPacket::from_bytes(packet_data)?),
206210
9 => Packet::SymmetricEncryptedData,
207211
10 => {
@@ -211,7 +215,7 @@ impl Packet {
211215
11 => Packet::LiteralData(LiteralPacket::from_bytes(packet_data)?),
212216
12 => Packet::Trust,
213217
13 => Packet::UserId(userid::parse_userid(packet_data)?),
214-
14 => Packet::PublicSubkey(Key::from_bytes(packet_data, true)?),
218+
14 => Packet::PublicSubkey(Key::from_bytes(packet_data)?),
215219
17 => Packet::UserAttribute,
216220
18 => Packet::SymmetricEncryptedIntegrityProtectedData,
217221
19 => Packet::ModificationDetectionCode,

0 commit comments

Comments
 (0)