diff options
Diffstat (limited to 'guide/src/chapter_01.md')
-rw-r--r-- | guide/src/chapter_01.md | 72 |
1 files changed, 40 insertions, 32 deletions
diff --git a/guide/src/chapter_01.md b/guide/src/chapter_01.md index 3d2af662..f89f7ed5 100644 --- a/guide/src/chapter_01.md +++ b/guide/src/chapter_01.md @@ -22,21 +22,23 @@ use openpgp::policy::StandardPolicy as P; const MESSAGE: &'static str = "дружба"; -fn main() { +fn main() -> openpgp::Result<()> { let p = &P::new(); // Generate a key. - let key = generate().unwrap(); + let key = generate()?; // Sign the message. let mut signed_message = Vec::new(); - sign(p, &mut signed_message, MESSAGE, &key).unwrap(); + sign(p, &mut signed_message, MESSAGE, &key)?; // Verify the message. let mut plaintext = Vec::new(); - verify(p, &mut plaintext, &signed_message, &key).unwrap(); + verify(p, &mut plaintext, &signed_message, &key)?; assert_eq!(MESSAGE.as_bytes(), &plaintext[..]); + + Ok(()) } # # /// Generates an signing-capable key. @@ -171,21 +173,23 @@ create it: # # const MESSAGE: &'static str = "дружба"; # -# fn main() { +# fn main() -> openpgp::Result<()> { # let p = &P::new(); # # // Generate a key. -# let key = generate().unwrap(); +# let key = generate()?; # # // Sign the message. # let mut signed_message = Vec::new(); -# sign(p, &mut signed_message, MESSAGE, &key).unwrap(); +# sign(p, &mut signed_message, MESSAGE, &key)?; # # // Verify the message. # let mut plaintext = Vec::new(); -# verify(p, &mut plaintext, &signed_message, &key).unwrap(); +# verify(p, &mut plaintext, &signed_message, &key)?; # # assert_eq!(MESSAGE.as_bytes(), &plaintext[..]); +# +# Ok(()) # } # /// Generates an signing-capable key. @@ -320,21 +324,23 @@ implements [`io::Write`], and we simply write the plaintext to it. # # const MESSAGE: &'static str = "дружба"; # -# fn main() { +# fn main() -> openpgp::Result<()> { # let p = &P::new(); # # // Generate a key. -# let key = generate().unwrap(); +# let key = generate()?; # # // Sign the message. # let mut signed_message = Vec::new(); -# sign(p, &mut signed_message, MESSAGE, &key).unwrap(); +# sign(p, &mut signed_message, MESSAGE, &key)?; # # // Verify the message. # let mut plaintext = Vec::new(); -# verify(p, &mut plaintext, &signed_message, &key).unwrap(); +# verify(p, &mut plaintext, &signed_message, &key)?; # # assert_eq!(MESSAGE.as_bytes(), &plaintext[..]); +# +# Ok(()) # } # # /// Generates an signing-capable key. @@ -477,38 +483,40 @@ Verified data can be read from this using [`io::Read`]. # use openpgp::parse::{Parse, stream::*}; # use openpgp::policy::Policy; # use openpgp::policy::StandardPolicy as P; -# +# # const MESSAGE: &'static str = "дружба"; -# -# fn main() { +# +# fn main() -> openpgp::Result<()> { # let p = &P::new(); # # // Generate a key. -# let key = generate().unwrap(); -# +# let key = generate()?; +# # // Sign the message. # let mut signed_message = Vec::new(); -# sign(p, &mut signed_message, MESSAGE, &key).unwrap(); -# +# sign(p, &mut signed_message, MESSAGE, &key)?; +# # // Verify the message. # let mut plaintext = Vec::new(); -# verify(p, &mut plaintext, &signed_message, &key).unwrap(); -# +# verify(p, &mut plaintext, &signed_message, &key)?; +# # assert_eq!(MESSAGE.as_bytes(), &plaintext[..]); +# +# Ok(()) # } -# +# # /// Generates an signing-capable key. # fn generate() -> openpgp::Result<openpgp::Cert> { # let (cert, _revocation) = CertBuilder::new() # .add_userid("someone@example.org") # .add_signing_subkey() # .generate()?; -# +# # // Save the revocation certificate somewhere. -# +# # Ok(cert) # } -# +# # /// Signs the given message. # fn sign(policy: &dyn Policy, # sink: &mut Write, plaintext: &str, tsk: &openpgp::Cert) @@ -519,26 +527,26 @@ Verified data can be read from this using [`io::Read`]. # .keys().unencrypted_secret() # .with_policy(policy, None).alive().revoked(false).for_signing() # .nth(0).unwrap().key().clone().into_keypair()?; -# +# # // Start streaming an OpenPGP message. # let message = Message::new(sink); -# +# # // We want to sign a literal data packet. # let signer = Signer::new(message, keypair).build()?; -# +# # // Emit a literal data packet. # let mut literal_writer = LiteralWriter::new(signer).build()?; -# +# # // Sign the data. # literal_writer.write_all(plaintext.as_bytes())?; -# +# # // Finalize the OpenPGP message to make sure that all data is # // written. # literal_writer.finalize()?; -# +# # Ok(()) # } -# +# /// Verifies the given message. fn verify(policy: &dyn Policy, sink: &mut Write, signed_message: &[u8], sender: &openpgp::Cert) |