Skip to content

Commit 7a246af

Browse files
authored
update to asn1 0.19 and use X509GeneralizedTime (#11988)
1 parent cabe787 commit 7a246af

File tree

8 files changed

+33
-23
lines changed

8 files changed

+33
-23
lines changed

Cargo.lock

+11-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ publish = false
1919
rust-version = "1.65.0"
2020

2121
[workspace.dependencies]
22-
asn1 = { version = "0.18.0", default-features = false }
22+
asn1 = { version = "0.19.0", default-features = false }
2323
pyo3 = { version = "0.23.1", features = ["abi3"] }
2424

2525
[profile.release]

src/rust/cryptography-x509-verification/src/policy/mod.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ mod tests {
780780
let generalized_dt = utc_dt.clone();
781781
let utc_validity = Time::UtcTime(asn1::UtcTime::new(utc_dt).unwrap());
782782
let generalized_validity =
783-
Time::GeneralizedTime(asn1::GeneralizedTime::new(generalized_dt).unwrap());
783+
Time::GeneralizedTime(asn1::X509GeneralizedTime::new(generalized_dt).unwrap());
784784
assert!(permits_validity_date::<PublicKeyErrorOps>(&utc_validity).is_ok());
785785
assert!(permits_validity_date::<PublicKeyErrorOps>(&generalized_validity).is_err());
786786
}
@@ -790,7 +790,7 @@ mod tests {
790790
let generalized_dt = utc_dt.clone();
791791
let utc_validity = Time::UtcTime(asn1::UtcTime::new(utc_dt).unwrap());
792792
let generalized_validity =
793-
Time::GeneralizedTime(asn1::GeneralizedTime::new(generalized_dt).unwrap());
793+
Time::GeneralizedTime(asn1::X509GeneralizedTime::new(generalized_dt).unwrap());
794794
assert!(permits_validity_date::<PublicKeyErrorOps>(&utc_validity).is_ok());
795795
assert!(permits_validity_date::<PublicKeyErrorOps>(&generalized_validity).is_err());
796796
}
@@ -800,7 +800,7 @@ mod tests {
800800
let generalized_dt = utc_dt.clone();
801801
assert!(asn1::UtcTime::new(utc_dt).is_err());
802802
let generalized_validity =
803-
Time::GeneralizedTime(asn1::GeneralizedTime::new(generalized_dt).unwrap());
803+
Time::GeneralizedTime(asn1::X509GeneralizedTime::new(generalized_dt).unwrap());
804804
assert!(permits_validity_date::<PublicKeyErrorOps>(&generalized_validity).is_ok());
805805
}
806806
{
@@ -810,7 +810,7 @@ mod tests {
810810
// The `asn1::UtcTime` constructor prevents this.
811811
assert!(asn1::UtcTime::new(utc_dt).is_err());
812812
let generalized_validity =
813-
Time::GeneralizedTime(asn1::GeneralizedTime::new(generalized_dt).unwrap());
813+
Time::GeneralizedTime(asn1::X509GeneralizedTime::new(generalized_dt).unwrap());
814814
assert!(permits_validity_date::<PublicKeyErrorOps>(&generalized_validity).is_ok());
815815
}
816816
{
@@ -820,7 +820,7 @@ mod tests {
820820
// The `asn1::UtcTime` constructor prevents this.
821821
assert!(asn1::UtcTime::new(utc_dt).is_err());
822822
let generalized_validity =
823-
Time::GeneralizedTime(asn1::GeneralizedTime::new(generalized_dt).unwrap());
823+
Time::GeneralizedTime(asn1::X509GeneralizedTime::new(generalized_dt).unwrap());
824824
assert!(permits_validity_date::<PublicKeyErrorOps>(&generalized_validity).is_ok());
825825
}
826826
}

src/rust/cryptography-x509/src/common.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ impl asn1::Asn1Writable for RawTlv<'_> {
207207
#[derive(asn1::Asn1Read, asn1::Asn1Write, PartialEq, Eq, Hash, Clone)]
208208
pub enum Time {
209209
UtcTime(asn1::UtcTime),
210-
GeneralizedTime(asn1::GeneralizedTime),
210+
GeneralizedTime(asn1::X509GeneralizedTime),
211211
}
212212

213213
impl Time {

src/rust/cryptography-x509/src/ocsp_resp.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub struct ResponseData<'a> {
3939
#[default(0)]
4040
pub version: u8,
4141
pub responder_id: ResponderId<'a>,
42-
pub produced_at: asn1::GeneralizedTime,
42+
pub produced_at: asn1::X509GeneralizedTime,
4343
pub responses: common::Asn1ReadableOrWritable<
4444
asn1::SequenceOf<'a, SingleResponse<'a>>,
4545
asn1::SequenceOfWriter<'a, SingleResponse<'a>, Vec<SingleResponse<'a>>>,
@@ -60,9 +60,9 @@ pub enum ResponderId<'a> {
6060
pub struct SingleResponse<'a> {
6161
pub cert_id: ocsp_req::CertID<'a>,
6262
pub cert_status: CertStatus,
63-
pub this_update: asn1::GeneralizedTime,
63+
pub this_update: asn1::X509GeneralizedTime,
6464
#[explicit(0)]
65-
pub next_update: Option<asn1::GeneralizedTime>,
65+
pub next_update: Option<asn1::X509GeneralizedTime>,
6666
#[explicit(1)]
6767
pub raw_single_extensions: Option<extensions::RawExtensions<'a>>,
6868
}
@@ -79,7 +79,7 @@ pub enum CertStatus {
7979

8080
#[derive(asn1::Asn1Read, asn1::Asn1Write)]
8181
pub struct RevokedInfo {
82-
pub revocation_time: asn1::GeneralizedTime,
82+
pub revocation_time: asn1::X509GeneralizedTime,
8383
#[explicit(0)]
8484
pub revocation_reason: Option<crl::CRLReason>,
8585
}

src/rust/src/x509/certificate.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -965,9 +965,9 @@ pub(crate) fn time_from_py(
965965

966966
pub(crate) fn time_from_datetime(dt: asn1::DateTime) -> CryptographyResult<common::Time> {
967967
if dt.year() >= 2050 {
968-
Ok(common::Time::GeneralizedTime(asn1::GeneralizedTime::new(
969-
dt,
970-
)?))
968+
Ok(common::Time::GeneralizedTime(
969+
asn1::X509GeneralizedTime::new(dt)?,
970+
))
971971
} else {
972972
Ok(common::Time::UtcTime(asn1::UtcTime::new(dt).unwrap()))
973973
}

src/rust/src/x509/extensions.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,9 @@ pub(crate) fn encode_extension(
678678
&oid::INVALIDITY_DATE_OID => {
679679
let py_dt = ext.getattr(pyo3::intern!(py, "invalidity_date_utc"))?;
680680
let dt = x509::py_to_datetime(py, py_dt)?;
681-
Ok(Some(asn1::write_single(&asn1::GeneralizedTime::new(dt)?)?))
681+
Ok(Some(asn1::write_single(&asn1::X509GeneralizedTime::new(
682+
dt,
683+
)?)?))
682684
}
683685
&oid::CRL_NUMBER_OID | &oid::DELTA_CRL_INDICATOR_OID => {
684686
let intval = ext

src/rust/src/x509/ocsp_resp.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -728,7 +728,8 @@ pub(crate) fn create_ocsp_response(
728728
};
729729
// REVOKED
730730
let py_revocation_time = py_single_resp.getattr(pyo3::intern!(py, "_revocation_time"))?;
731-
let revocation_time = asn1::GeneralizedTime::new(py_to_datetime(py, py_revocation_time)?)?;
731+
let revocation_time =
732+
asn1::X509GeneralizedTime::new(py_to_datetime(py, py_revocation_time)?)?;
732733
ocsp_resp::CertStatus::Revoked(ocsp_resp::RevokedInfo {
733734
revocation_time,
734735
revocation_reason,
@@ -739,15 +740,15 @@ pub(crate) fn create_ocsp_response(
739740
.is_none()
740741
{
741742
let py_next_update = py_single_resp.getattr(pyo3::intern!(py, "_next_update"))?;
742-
Some(asn1::GeneralizedTime::new(py_to_datetime(
743+
Some(asn1::X509GeneralizedTime::new(py_to_datetime(
743744
py,
744745
py_next_update,
745746
)?)?)
746747
} else {
747748
None
748749
};
749750
let py_this_update = py_single_resp.getattr(pyo3::intern!(py, "_this_update"))?;
750-
let this_update = asn1::GeneralizedTime::new(py_to_datetime(py, py_this_update)?)?;
751+
let this_update = asn1::X509GeneralizedTime::new(py_to_datetime(py, py_this_update)?)?;
751752

752753
let ka_vec = cryptography_keepalive::KeepAlive::new();
753754
let ka_bytes = cryptography_keepalive::KeepAlive::new();
@@ -789,7 +790,7 @@ pub(crate) fn create_ocsp_response(
789790

790791
let tbs_response_data = ocsp_resp::ResponseData {
791792
version: 0,
792-
produced_at: asn1::GeneralizedTime::new(x509::common::datetime_now(py)?)?,
793+
produced_at: asn1::X509GeneralizedTime::new(x509::common::datetime_now(py)?)?,
793794
responder_id,
794795
responses: common::Asn1ReadableOrWritable::new_write(asn1::SequenceOfWriter::new(
795796
responses,

0 commit comments

Comments
 (0)