feat: v0.2.0-rc, optimize code
This commit is contained in:
15
src/cert.rs
15
src/cert.rs
@@ -13,10 +13,15 @@ pub struct Cert {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn load_certificate(cert_fn: &str, key_fn: &str) -> Result<(Certificate, String), String> {
|
pub fn load_certificate(cert_fn: &str, key_fn: &str) -> Result<(Certificate, String), String> {
|
||||||
let cert_pem = fs::read_to_string(cert_fn).map_err(|e| format!("Read file: {} failed: {}", cert_fn, e))?;
|
let cert_pem = fs::read_to_string(cert_fn)
|
||||||
let key_pem = fs::read_to_string(key_fn).map_err(|e| format!("Read file: {} failed: {}", key_fn, e))?;
|
.map_err(|e| format!("Read file: {} failed: {}", cert_fn, e))?;
|
||||||
let key_pem = parse_pkcs8(&key_pem);
|
|
||||||
let key_pair = KeyPair::from_pem(&key_pem).map_err(|e| format!("Parse key: {} failed: {}", key_fn, e))?;
|
let key_pem = fs::read_to_string(key_fn)
|
||||||
|
.map_err(|e| format!("Read file: {} failed: {}", key_fn, e))?;
|
||||||
|
let key_pem = resolve_ec_pkcs8(&key_pem);
|
||||||
|
let key_pair = KeyPair::from_pem(&key_pem)
|
||||||
|
.map_err(|e| format!("Parse key: {} failed: {}", key_fn, e))?;
|
||||||
|
|
||||||
// 底层逻辑限制,P256 与 SHA256 搭配,P384 与 SHA384 搭配
|
// 底层逻辑限制,P256 与 SHA256 搭配,P384 与 SHA384 搭配
|
||||||
let certificate_params = CertificateParams::from_ca_cert_pem(&cert_pem, key_pair)
|
let certificate_params = CertificateParams::from_ca_cert_pem(&cert_pem, key_pair)
|
||||||
.map_err(|e| format!("Cert and keypair match failed: {}", e))?;
|
.map_err(|e| format!("Cert and keypair match failed: {}", e))?;
|
||||||
@@ -51,7 +56,7 @@ macro_rules! ecc_private_key_convert {
|
|||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_pkcs8(pem: &str) -> String {
|
fn resolve_ec_pkcs8(pem: &str) -> String {
|
||||||
// KeyPair only support PKCS#8 private key with public key, though public key is optional
|
// KeyPair only support PKCS#8 private key with public key, though public key is optional
|
||||||
ecc_private_key_convert!(p256, pem);
|
ecc_private_key_convert!(p256, pem);
|
||||||
ecc_private_key_convert!(p384, pem);
|
ecc_private_key_convert!(p384, pem);
|
||||||
|
|||||||
Reference in New Issue
Block a user