Struct sbp::messages::signing::msg_certificate_chain::MsgCertificateChain
source · pub struct MsgCertificateChain {
pub sender_id: Option<u16>,
pub root_certificate: [u8; 20],
pub intermediate_certificate: [u8; 20],
pub corrections_certificate: [u8; 20],
pub expiration: UtcTime,
pub signature: ECDSASignature,
}
Expand description
The certificate chain
Fields§
§sender_id: Option<u16>
The message sender_id
root_certificate: [u8; 20]
SHA-1 fingerprint of the root certificate
intermediate_certificate: [u8; 20]
SHA-1 fingerprint of the intermediate certificate
corrections_certificate: [u8; 20]
SHA-1 fingerprint of the corrections certificate
expiration: UtcTime
The time after which the signature given is no longer valid. Implementors should consult a time source (such as GNSS) to check if the current time is later than the expiration time, if the condition is true, signatures in the stream should not be considered valid.
signature: ECDSASignature
Signature (created by the root certificate) over the concatenation of
the SBP payload bytes preceding this field. That is, the concatenation
of root_certificate
, intermediate_certificate
,
corrections_certificate
and expiration
. This certificate chain
(allow list) can also be validated by fetching it from
http(s)://certs.swiftnav.com/chain
.
Trait Implementations§
source§impl Clone for MsgCertificateChain
impl Clone for MsgCertificateChain
source§fn clone(&self) -> MsgCertificateChain
fn clone(&self) -> MsgCertificateChain
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ConcreteMessage for MsgCertificateChain
impl ConcreteMessage for MsgCertificateChain
source§const MESSAGE_TYPE: u16 = 3_081u16
const MESSAGE_TYPE: u16 = 3_081u16
source§const MESSAGE_NAME: &'static str = "MSG_CERTIFICATE_CHAIN"
const MESSAGE_NAME: &'static str = "MSG_CERTIFICATE_CHAIN"
source§impl Debug for MsgCertificateChain
impl Debug for MsgCertificateChain
source§impl<'de> Deserialize<'de> for MsgCertificateChain
impl<'de> Deserialize<'de> for MsgCertificateChain
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl FriendlyName for MsgCertificateChain
impl FriendlyName for MsgCertificateChain
fn friendly_name() -> &'static str
source§impl From<MsgCertificateChain> for Sbp
impl From<MsgCertificateChain> for Sbp
source§fn from(msg: MsgCertificateChain) -> Self
fn from(msg: MsgCertificateChain) -> Self
source§impl PartialEq for MsgCertificateChain
impl PartialEq for MsgCertificateChain
source§fn eq(&self, other: &MsgCertificateChain) -> bool
fn eq(&self, other: &MsgCertificateChain) -> bool
self
and other
values to be equal, and is used
by ==
.