@@ -8,7 +8,7 @@ use avalanche_types::{
8
8
ids:: node:: Id as NodeId ,
9
9
jsonrpc:: info:: { GetNodeVersionResult , UptimeResult , VmVersions } ,
10
10
} ;
11
- use openssl :: x509 :: X509 ;
11
+ use rustls_pemfile :: certs ;
12
12
use serde:: { Deserialize , Serialize } ;
13
13
use std:: net:: { IpAddr , Ipv4Addr } ;
14
14
@@ -201,11 +201,9 @@ pub fn node_id_from_cert_der(cert_bytes: &[u8]) -> Result<NodeId, AshError> {
201
201
202
202
/// Compute the node ID from the PEM-encoded X509 certificate string
203
203
pub fn node_id_from_cert_pem ( cert_str : & str ) -> Result < NodeId , AshError > {
204
- let cert = X509 :: from_pem ( cert_str. as_bytes ( ) )
205
- . map_err ( |e| AvalancheNodeError :: InvalidCertificate ( e. to_string ( ) ) ) ?;
206
- let cert_der = cert
207
- . to_der ( )
208
- . map_err ( |e| AvalancheNodeError :: InvalidCertificate ( e. to_string ( ) ) ) ?;
204
+ let cert_der = certs ( & mut cert_str. as_bytes ( ) )
205
+ . map_err ( |e| AvalancheNodeError :: InvalidCertificate ( e. to_string ( ) ) ) ?
206
+ . remove ( 0 ) ;
209
207
210
208
let node_id = node_id_from_cert_der ( & cert_der) ?;
211
209
@@ -280,8 +278,7 @@ mod tests {
280
278
#[ test]
281
279
fn test_node_id_from_cert_der ( ) {
282
280
let cert_pem = fs:: read_to_string ( "tests/certs/validator01.crt" ) . unwrap ( ) ;
283
- let cert = X509 :: from_pem ( cert_pem. as_bytes ( ) ) . unwrap ( ) ;
284
- let cert_der = cert. to_der ( ) . unwrap ( ) ;
281
+ let cert_der = certs ( & mut cert_pem. as_bytes ( ) ) . unwrap ( ) . remove ( 0 ) ;
285
282
286
283
let node_id = node_id_from_cert_der ( & cert_der) . unwrap ( ) ;
287
284
0 commit comments