@@ -28,7 +28,7 @@ use core::fmt;
2828use core:: marker:: PhantomData ;
2929use der:: asn1:: { BitString , Null , OctetString , OctetStringRef , SetOfVec } ;
3030use der:: oid:: db:: DB ;
31- use der:: { Any , AnyRef , DateTime , Decode , Encode , ErrorKind , Tag } ;
31+ use der:: { Any , AnyRef , Decode , Encode , ErrorKind , Tag } ;
3232use digest:: Digest ;
3333use rsa:: Pkcs1v15Encrypt ;
3434use sha2:: digest;
@@ -39,10 +39,12 @@ use spki::{
3939 AlgorithmIdentifierOwned , DynSignatureAlgorithmIdentifier , EncodePublicKey ,
4040 SignatureBitStringEncoding ,
4141} ;
42- use std:: time:: SystemTime ;
4342use std:: vec;
44- use x509_cert:: attr:: { Attribute , AttributeValue , Attributes } ;
45- use x509_cert:: builder:: { self , AsyncBuilder , Builder } ;
43+ use x509_cert:: {
44+ attr:: { Attribute , AttributeValue , Attributes } ,
45+ builder:: { self , AsyncBuilder , Builder } ,
46+ time:: Time ,
47+ } ;
4648use zeroize:: Zeroize ;
4749
4850// Modules
@@ -1261,20 +1263,7 @@ pub fn create_message_digest_attribute(message_digest: &[u8]) -> Result<Attribut
12611263/// encoded as UTCTime. Any dates with year values before 1950 or after
12621264/// 2049 MUST be encoded as GeneralizedTime.
12631265pub fn create_signing_time_attribute ( ) -> Result < Attribute > {
1264- let now = DateTime :: from_system_time ( SystemTime :: now ( ) ) ?;
1265- let tag = if now. year ( ) < 1950 || now. year ( ) > 2049 {
1266- Tag :: GeneralizedTime
1267- } else {
1268- Tag :: UtcTime
1269- } ;
1270- // let mut signing_time_buf = Vec::new();
1271- let time_der = if tag == Tag :: GeneralizedTime {
1272- // der::asn1::GeneralizedTime::from_date_time(now).encode_to_vec(&mut signing_time_buf)?;
1273- der:: asn1:: GeneralizedTime :: from_date_time ( now) . to_der ( ) ?
1274- } else {
1275- // der::asn1::UtcTime::from_date_time(now)?.encode_to_vec(&mut signing_time_buf)?;
1276- der:: asn1:: UtcTime :: from_date_time ( now) ?. to_der ( ) ?
1277- } ;
1266+ let time_der = Time :: now ( ) ?. to_der ( ) ?;
12781267 let signing_time_attribute_value = AttributeValue :: from_der ( & time_der) ?;
12791268 let mut values = SetOfVec :: < AttributeValue > :: new ( ) ;
12801269 values. insert ( signing_time_attribute_value) ?;
0 commit comments