Skip to content

Commit 68c0b0f

Browse files
refactor(picky-asn1-der): remove num-bigint-dig (#427)
1 parent 14abf7e commit 68c0b0f

File tree

5 files changed

+35
-126
lines changed

5 files changed

+35
-126
lines changed

Cargo.lock

Lines changed: 22 additions & 98 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

picky-asn1-der/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ serde_bytes = "0.11"
2525
base64 = "0.22"
2626
pretty_assertions = "1.4"
2727
serde_bytes = "0.11"
28-
num-bigint-dig = "0.8"# TODO: use `crypto-bigint` instead
28+
crypto-bigint = { version = "0.7.0-rc.8", default-features = false, features = ["alloc"] }
2929
oid = { version = "0.2", default-features = false, features = ["serde_support"] }
3030

3131
[features]

picky-asn1-der/tests/pki_tests/rsa_public_key.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use super::ocsp_request::AlgorithmIdentifier;
1818
use base64::Engine as _;
1919
use base64::engine::general_purpose;
20-
use num_bigint_dig::BigInt;
20+
use crypto_bigint::BoxedUint;
2121
use oid::prelude::*;
2222
use picky_asn1::wrapper::*;
2323
use serde::{Deserialize, Serialize};
@@ -78,7 +78,10 @@ fn subject_public_key_info() {
7878
]);
7979
check!(modulus: IntegerAsn1 in encoded[28..289]);
8080

81-
let public_exponent: IntegerAsn1 = BigInt::from(65537).to_signed_bytes_be().into();
81+
let public_exponent: IntegerAsn1 = BoxedUint::from(65537u32)
82+
.to_be_bytes_trimmed_vartime()
83+
.into_vec()
84+
.into();
8285
check!(public_exponent: IntegerAsn1 in encoded[289..294]);
8386

8487
// RSA public key

picky-asn1-der/tests/pki_tests/x509_v3_certificate.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ use crate::pki_tests::rsa_public_key::{RSAPublicKey, SubjectPublicKeyInfoRsa};
5959
use crate::pki_tests::version::{Version, implicit_app0_version_is_default};
6060
use base64::Engine as _;
6161
use base64::engine::general_purpose;
62-
use num_bigint_dig::BigInt;
62+
use crypto_bigint::BoxedUint;
6363
use oid::prelude::*;
6464
use picky_asn1::bit_string::BitString;
6565
use picky_asn1::date::Date;
@@ -176,7 +176,10 @@ fn x509_v3_certificate() {
176176
},
177177
subject_public_key: RSAPublicKey {
178178
modulus: IntegerAsn1::from_bytes_be_signed(encoded[165..422].to_vec()),
179-
public_exponent: BigInt::from(65537).to_signed_bytes_be().into(),
179+
public_exponent: BoxedUint::from(65537u32)
180+
.to_be_bytes_trimmed_vartime()
181+
.into_vec()
182+
.into(),
180183
}
181184
.into(),
182185
};

picky-asn1-der/tests/serde_der_advanced_asn1_types.rs

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
extern crate num_bigint_dig as num_bigint;
2-
31
mod pki_tests;
42

5-
use num_bigint::ToBigInt;
3+
use crypto_bigint::BoxedUint;
64
use oid::prelude::*;
75
use picky_asn1::bit_string::BitString;
86
use picky_asn1::date::{Date, GeneralizedTime, UTCTime};
@@ -107,7 +105,7 @@ fn big_integer() {
107105
#[test]
108106
fn small_integer() {
109107
let buffer = [0x02, 0x01, 0x03];
110-
let big_integer = IntegerAsn1::from(3.to_bigint().unwrap().to_signed_bytes_be());
108+
let big_integer = IntegerAsn1::from(BoxedUint::from(3u32).to_be_bytes_trimmed_vartime().into_vec());
111109

112110
assert!(big_integer.is_positive());
113111
assert!(!big_integer.is_negative());
@@ -116,18 +114,6 @@ fn small_integer() {
116114
check(&buffer, big_integer);
117115
}
118116

119-
#[test]
120-
fn small_integer_negative() {
121-
let buffer = [0x02, 0x01, 0xF9];
122-
let big_integer = IntegerAsn1::from((-7).to_bigint().unwrap().to_signed_bytes_be());
123-
124-
assert!(!big_integer.is_positive());
125-
assert!(big_integer.is_negative());
126-
assert_eq!(big_integer.as_unsigned_bytes_be(), &[0xF9]);
127-
128-
check(&buffer, big_integer);
129-
}
130-
131117
#[test]
132118
fn date() {
133119
let buffer = [
@@ -225,13 +211,6 @@ fn sequence_of() {
225211
check(&buffer, set_of_elems);
226212
}
227213

228-
#[test]
229-
fn application_tag0() {
230-
let buffer = [0xA0, 0x03, 0x02, 0x01, 0xF9];
231-
let application_tag = ExplicitContextTag0(IntegerAsn1::from((-7).to_bigint().unwrap().to_signed_bytes_be()));
232-
check(&buffer, application_tag);
233-
}
234-
235214
#[test]
236215
fn restricted_strings() {
237216
let printable_string_buffer = b"\x13\x02\x4E\x4C";

0 commit comments

Comments
 (0)