(paths: &TlsPaths, tls_dir: &Path)
| 159 | } |
| 160 | |
| 161 | fn load_from_paths(paths: &TlsPaths, tls_dir: &Path) -> crate::Result<TlsCredentials> { |
| 162 | let cert = read_single_cert(&paths.cert)?; |
| 163 | let key = read_private_key(&paths.key)?; |
| 164 | let ca_cert = read_single_cert(&paths.ca)?; |
| 165 | let crls = match &paths.crl { |
| 166 | Some(p) => read_crls(p)?, |
| 167 | None => Vec::new(), |
| 168 | }; |
| 169 | let secret_path = paths |
| 170 | .cluster_secret |
| 171 | .clone() |
| 172 | .unwrap_or_else(|| tls_dir.join(CLUSTER_SECRET_FILE)); |
| 173 | let cluster_secret = read_cluster_secret(&secret_path)?; |
| 174 | let additional_ca_certs = load_extra_cas(tls_dir)?; |
| 175 | let spki_pin = |
| 176 | nodedb_cluster::transport::spki_pin_from_cert_der(cert.as_ref()).unwrap_or([0u8; 32]); |
| 177 | Ok(TlsCredentials { |
| 178 | cert, |
| 179 | key, |
| 180 | ca_cert, |
| 181 | additional_ca_certs, |
| 182 | crls, |
| 183 | cluster_secret, |
| 184 | spki_pin, |
| 185 | }) |
| 186 | } |
| 187 | |
| 188 | fn load_from_data_dir(tls_dir: &Path) -> crate::Result<TlsCredentials> { |
| 189 | let cert = read_single_cert(&tls_dir.join(NODE_CERT_FILE))?; |
no test coverage detected