pub fn time_stamp_request_http(
url: impl IntoUrl,
request: &TimeStampReq
) -> Result<TimeStampResponse, TimeStampError>Expand description
Send a TimeStampReq to a server via HTTP.
Examples found in repository?
src/time_stamp_protocol.rs (line 226)
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
pub fn time_stamp_message_http(
url: impl IntoUrl,
message: &[u8],
digest_algorithm: DigestAlgorithm,
) -> Result<TimeStampResponse, TimeStampError> {
let mut h = digest_algorithm.digester();
h.update(message);
let digest = h.finish();
let mut random = [0u8; 8];
ring::rand::SystemRandom::new()
.fill(&mut random)
.map_err(|_| TimeStampError::Random)?;
let request = TimeStampReq {
version: Integer::from(1),
message_imprint: MessageImprint {
hash_algorithm: digest_algorithm.into(),
hashed_message: OctetString::new(bytes::Bytes::copy_from_slice(digest.as_ref())),
},
req_policy: None,
nonce: Some(Integer::from(u64::from_le_bytes(random))),
cert_req: Some(true),
extensions: None,
};
time_stamp_request_http(url, &request)
}