diff options
| author | Steven Fackler <[email protected]> | 2018-02-13 17:25:16 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-02-13 17:25:16 -0800 |
| commit | 41598534b6b1119aaa3f81ccdd91d784b4d88bfc (patch) | |
| tree | 78c2e245583cdfedf473907fee1ef4157afe0e8b /openssl | |
| parent | Release openssl 0.10.3 and openssl-sys 0.9.25 (diff) | |
| parent | Added binding for PEM_read_bio_RSAPublicKey (diff) | |
| download | rust-openssl-41598534b6b1119aaa3f81ccdd91d784b4d88bfc.tar.xz rust-openssl-41598534b6b1119aaa3f81ccdd91d784b4d88bfc.zip | |
Merge pull request #838 from olehermanse/master
Added binding for PEM_read_bio_RSAPublicKey
Diffstat (limited to 'openssl')
| -rw-r--r-- | openssl/src/rsa.rs | 27 | ||||
| -rw-r--r-- | openssl/test/pkcs1.pem.pub | 8 |
2 files changed, 35 insertions, 0 deletions
diff --git a/openssl/src/rsa.rs b/openssl/src/rsa.rs index 472ca94f..dfa56d70 100644 --- a/openssl/src/rsa.rs +++ b/openssl/src/rsa.rs @@ -428,6 +428,19 @@ impl Rsa<Public> { ffi::PEM_read_bio_RSA_PUBKEY } + from_pem! { + /// Decodes a PEM-encoded PKCS#1 RSAPublicKey structure. + /// + /// The input should have a header of `-----BEGIN RSA PUBLIC KEY-----`. + /// + /// This corresponds to [`PEM_read_bio_RSAPublicKey`]. + /// + /// [`PEM_read_bio_RSAPublicKey`]: https://www.openssl.org/docs/man1.0.2/crypto/PEM_read_bio_RSAPublicKey.html + public_key_from_pem_pkcs1, + Rsa<Public>, + ffi::PEM_read_bio_RSAPublicKey + } + from_der! { /// Decodes a DER-encoded SubjectPublicKeyInfo structure containing an RSA key. /// @@ -732,4 +745,18 @@ mod test { .unwrap(); assert_eq!(msg, &dmesg[..len]); } + + #[test] + fn test_public_key_from_pem_pkcs1() { + let key = include_bytes!("../test/pkcs1.pem.pub"); + Rsa::public_key_from_pem_pkcs1(key).unwrap(); + } + + #[test] + #[should_panic] + fn test_public_key_from_pem_pkcs1_panic() { + let key = include_bytes!("../test/key.pem.pub"); + Rsa::public_key_from_pem_pkcs1(key).unwrap(); + } + } diff --git a/openssl/test/pkcs1.pem.pub b/openssl/test/pkcs1.pem.pub new file mode 100644 index 00000000..4d557048 --- /dev/null +++ b/openssl/test/pkcs1.pem.pub @@ -0,0 +1,8 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyrcf7lv42BCoiDd3LYmF8eaGO4rhmGzGgi+NSZowkEuLhibHGQle +FkZC7h1VKsxKFgy7Fx+GYHkv9OLm9H5fdp3HhYlo19bZVGvSJ66OJe/Bc4S02bBb +Y8vwpc/N5O77m5J/nHLuL7XJtpfSKkX+3NPiX1X2L99iipt7F0a7hNws3G3Lxg6t +P3Yc55TPjXzXvDIgjt/fag6iF8L/bR3augJJdDhLzNucR8A5HcvPtIVo51R631Zq +MCh+dZvgz9zGCXwsvSky/iOJTHN3wnpsWuCAzS1iJMfjR783Tfv6sWFs19FH7pHP +xBA3b2enPM9KBzINGOly0eM4h0fh+VBltQIDAQAB +-----END RSA PUBLIC KEY----- |