3个版本 (破坏性更新)
0.3.0 | 2021年1月9日 |
---|---|
0.2.0 | 2021年1月3日 |
0.1.0 | 2020年7月25日 |
在认证类别中排名第629
24KB
546 行
jsonwebkey-convert
在Json Web Key和DER/PEM格式之间转换RSA公钥。
将PEM转换为JWK
use jsonwebkey_convert::*;
use jsonwebkey_convert::der::FromPem;
fn main() -> Result<(), Error> {
let pem_data = include_str!("../testfiles/test1.pem");
let rsa_jwk = RSAPublicKey::from_pem(pem_data)?;
let jwk_byte_vec = serde_json::to_string(&rsa_jwk);
Ok(())
}
将JWK转换为PEM
use jsonwebkey_convert::*;
use jsonwebkey_convert::der::ToPem;
fn main() -> Result<(), Error> {
let jwk_data = include_str!("../testfiles/test1.json");
let rsa_jwk: RSAPublicKey = jwk_data.parse()?;
let pem_data = rsa_jwk.to_pem()?;
Ok(())
}
lib.rs
:
jsonwebkey-convert
在不使用nightly rust编译器的情况下处理Json Web Key。
加载JSON Web Key集
use jsonwebkey_convert::JsonWebKeySet;
let jwks: JsonWebKeySet = jwks_str.parse()?;
将PEM转换为JWK
需要pem_support
特性。
use jsonwebkey_convert::*;
use jsonwebkey_convert::der::FromPem;
let rsa_jwk = RSAPublicKey::from_pem(pem_data)?;
let jwk_byte_vec = serde_json::to_string(&rsa_jwk);
将JWK转换为PEM
需要pem_support
特性。
use jsonwebkey_convert::*;
use jsonwebkey_convert::der::ToPem;
let rsa_jwk: RSAPublicKey = jwk_data.parse()?;
let pem_data = rsa_jwk.to_pem()?;
依赖项
~1.3–5MB
~113K SLoC