@@ -38,14 +38,19 @@ pub struct DH {
3838
3939impl DH {
4040 /// ffdhe2048 named parameter group.
41+ #[ cfg( dh_ffdhe_2048) ]
4142 pub const FFDHE_2048 : i32 = sys:: WC_FFDHE_2048 as i32 ;
4243 /// ffdhe3072 named parameter group.
44+ #[ cfg( dh_ffdhe_3072) ]
4345 pub const FFDHE_3072 : i32 = sys:: WC_FFDHE_3072 as i32 ;
4446 /// ffdhe4096 named parameter group.
47+ #[ cfg( dh_ffdhe_4096) ]
4548 pub const FFDHE_4096 : i32 = sys:: WC_FFDHE_4096 as i32 ;
4649 /// ffdhe6144 named parameter group.
50+ #[ cfg( dh_ffdhe_6144) ]
4751 pub const FFDHE_6144 : i32 = sys:: WC_FFDHE_6144 as i32 ;
4852 /// ffdhe8192 named parameter group.
53+ #[ cfg( dh_ffdhe_8192) ]
4954 pub const FFDHE_8192 : i32 = sys:: WC_FFDHE_8192 as i32 ;
5055
5156 /// Perform quick validity check of public key value against prime.
@@ -68,6 +73,8 @@ impl DH {
6873 /// # Example
6974 ///
7075 /// ```rust
76+ /// #[cfg(dh_ffdhe_2048)]
77+ /// {
7178 /// use wolfssl::wolfcrypt::random::RNG;
7279 /// use wolfssl::wolfcrypt::dh::DH;
7380 /// let mut rng = RNG::new().expect("Failed to create RNG");
@@ -87,6 +94,7 @@ impl DH {
8794 /// dh.export_params_raw(&mut p, &mut p_size, &mut q, &mut q_size, &mut g, &mut g_size).expect("Error with export_params_raw()");
8895 /// let p = &p[0..(p_size as usize)];
8996 /// DH::check_pub_value(p, public).expect("Error with check_pub_value()");
97+ /// }
9098 /// ```
9199 pub fn check_pub_value ( prime : & [ u8 ] , public : & [ u8 ] ) -> Result < ( ) , i32 > {
92100 let prime_size = prime. len ( ) as u32 ;
@@ -117,6 +125,8 @@ impl DH {
117125 /// # Example
118126 ///
119127 /// ```rust
128+ /// #[cfg(dh_ffdhe_2048)]
129+ /// {
120130 /// use wolfssl::wolfcrypt::random::RNG;
121131 /// use wolfssl::wolfcrypt::dh::DH;
122132 /// let mut dh = DH::new_named(DH::FFDHE_2048).expect("Error with new_named()");
@@ -130,6 +140,7 @@ impl DH {
130140 /// let p = &p[0..(p_size as usize)];
131141 /// let g = &g[0..(g_size as usize)];
132142 /// assert!(DH::compare_named_key(DH::FFDHE_2048, p, g, None));
143+ /// }
133144 /// ```
134145 pub fn compare_named_key ( name : i32 , p : & [ u8 ] , g : & [ u8 ] , q : Option < & [ u8 ] > ) -> bool {
135146 let p_size = p. len ( ) as u32 ;
@@ -244,10 +255,13 @@ impl DH {
244255 /// # Example
245256 ///
246257 /// ```rust
258+ /// #[cfg(dh_ffdhe_2048)]
259+ /// {
247260 /// use wolfssl::wolfcrypt::random::RNG;
248261 /// use wolfssl::wolfcrypt::dh::DH;
249262 /// let min_key_size = DH::get_min_key_size_for_named_parameters(DH::FFDHE_2048);
250263 /// assert_eq!(min_key_size, 29);
264+ /// }
251265 /// ```
252266 pub fn get_min_key_size_for_named_parameters ( name : i32 ) -> u32 {
253267 unsafe { sys:: wc_DhGetNamedKeyMinSize ( name) }
@@ -265,12 +279,15 @@ impl DH {
265279 /// # Example
266280 ///
267281 /// ```rust
282+ /// #[cfg(dh_ffdhe_2048)]
283+ /// {
268284 /// use wolfssl::wolfcrypt::random::RNG;
269285 /// use wolfssl::wolfcrypt::dh::DH;
270286 /// let mut p_size = 0u32;
271287 /// let mut g_size = 0u32;
272288 /// let mut q_size = 0u32;
273289 /// DH::get_named_parameter_sizes(DH::FFDHE_2048, &mut p_size, &mut g_size, &mut q_size);
290+ /// }
274291 /// ```
275292 pub fn get_named_parameter_sizes ( name : i32 , p_size : & mut u32 , g_size : & mut u32 , q_size : & mut u32 ) {
276293 unsafe {
@@ -292,9 +309,12 @@ impl DH {
292309 /// # Example
293310 ///
294311 /// ```rust
312+ /// #[cfg(dh_ffdhe_2048)]
313+ /// {
295314 /// use wolfssl::wolfcrypt::random::RNG;
296315 /// use wolfssl::wolfcrypt::dh::DH;
297316 /// let mut dh = DH::new_named(DH::FFDHE_2048).expect("Error with new_named()");
317+ /// }
298318 /// ```
299319 pub fn new_named ( name : i32 ) -> Result < Self , i32 > {
300320 Self :: new_named_ex ( name, None , None )
@@ -317,9 +337,12 @@ impl DH {
317337 /// # Example
318338 ///
319339 /// ```rust
340+ /// #[cfg(dh_ffdhe_2048)]
341+ /// {
320342 /// use wolfssl::wolfcrypt::random::RNG;
321343 /// use wolfssl::wolfcrypt::dh::DH;
322344 /// let mut dh = DH::new_named_ex(DH::FFDHE_2048, None, None).expect("Error with new_named_ex()");
345+ /// }
323346 /// ```
324347 pub fn new_named_ex ( name : i32 , heap : Option < * mut std:: os:: raw:: c_void > , dev_id : Option < i32 > ) -> Result < Self , i32 > {
325348 let mut wc_dhkey: MaybeUninit < sys:: DhKey > = MaybeUninit :: uninit ( ) ;
@@ -1023,6 +1046,8 @@ impl DH {
10231046 /// # Example
10241047 ///
10251048 /// ```rust
1049+ /// #[cfg(dh_ffdhe_2048)]
1050+ /// {
10261051 /// use wolfssl::wolfcrypt::random::RNG;
10271052 /// use wolfssl::wolfcrypt::dh::DH;
10281053 /// let mut rng = RNG::new().expect("Error with RNG::new()");
@@ -1035,6 +1060,7 @@ impl DH {
10351060 /// let private = &private[0..(private_size as usize)];
10361061 /// let public = &public[0..(public_size as usize)];
10371062 /// dh.check_key_pair(public, private).expect("Error with check_key_pair()");
1063+ /// }
10381064 /// ```
10391065 pub fn check_key_pair ( & mut self , public : & [ u8 ] , private : & [ u8 ] ) -> Result < ( ) , i32 > {
10401066 let public_size = public. len ( ) as u32 ;
@@ -1066,6 +1092,8 @@ impl DH {
10661092 /// # Example
10671093 ///
10681094 /// ```rust
1095+ /// #[cfg(dh_ffdhe_2048)]
1096+ /// {
10691097 /// use wolfssl::wolfcrypt::random::RNG;
10701098 /// use wolfssl::wolfcrypt::dh::DH;
10711099 /// let mut rng = RNG::new().expect("Error with RNG::new()");
@@ -1077,6 +1105,7 @@ impl DH {
10771105 /// dh.generate_key_pair(&mut rng, &mut private, &mut private_size, &mut public, &mut public_size).expect("Error with generate_key_pair()");
10781106 /// let private = &private[0..(private_size as usize)];
10791107 /// dh.check_priv_key(private).expect("Error with check_priv_key()");
1108+ /// }
10801109 /// ```
10811110 pub fn check_priv_key ( & mut self , private : & [ u8 ] ) -> Result < ( ) , i32 > {
10821111 let private_size = private. len ( ) as u32 ;
@@ -1230,6 +1259,8 @@ impl DH {
12301259 /// # Example
12311260 ///
12321261 /// ```rust
1262+ /// #[cfg(dh_ffdhe_2048)]
1263+ /// {
12331264 /// use wolfssl::wolfcrypt::random::RNG;
12341265 /// use wolfssl::wolfcrypt::dh::DH;
12351266 /// let mut rng = RNG::new().expect("Error with RNG::new()");
@@ -1241,6 +1272,7 @@ impl DH {
12411272 /// dh.generate_key_pair(&mut rng, &mut private, &mut private_size, &mut public, &mut public_size).expect("Error with generate_key_pair()");
12421273 /// let public = &public[0..(public_size as usize)];
12431274 /// dh.check_pub_key(public).expect("Error with check_pub_key()");
1275+ /// }
12441276 /// ```
12451277 pub fn check_pub_key ( & mut self , public : & [ u8 ] ) -> Result < ( ) , i32 > {
12461278 let public_size = public. len ( ) as u32 ;
@@ -1429,6 +1461,8 @@ impl DH {
14291461 /// # Example
14301462 ///
14311463 /// ```rust
1464+ /// #[cfg(dh_ffdhe_2048)]
1465+ /// {
14321466 /// use wolfssl::wolfcrypt::random::RNG;
14331467 /// use wolfssl::wolfcrypt::dh::DH;
14341468 /// let mut rng = RNG::new().expect("Failed to create RNG");
@@ -1438,6 +1472,7 @@ impl DH {
14381472 /// let mut public = [0u8; 256];
14391473 /// let mut public_size = 0u32;
14401474 /// dh.generate_key_pair(&mut rng, &mut private, &mut private_size, &mut public, &mut public_size).expect("Error with generate_key_pair()");
1475+ /// }
14411476 /// ```
14421477 pub fn generate_key_pair ( & mut self , rng : & mut RNG ,
14431478 private : & mut [ u8 ] , private_size : & mut u32 ,
@@ -1471,6 +1506,8 @@ impl DH {
14711506 /// # Example
14721507 ///
14731508 /// ```rust
1509+ /// #[cfg(dh_ffdhe_2048)]
1510+ /// {
14741511 /// use wolfssl::wolfcrypt::random::RNG;
14751512 /// use wolfssl::wolfcrypt::dh::DH;
14761513 /// let mut rng = RNG::new().expect("Error with RNG::new()");
@@ -1488,6 +1525,7 @@ impl DH {
14881525 /// let mut ss0 = [0u8; 256];
14891526 /// let ss0_size = dh.shared_secret(&mut ss0, &private0, &public1).expect("Error with shared_secret()");
14901527 /// let ss0 = &ss0[0..ss0_size];
1528+ /// }
14911529 /// ```
14921530 pub fn shared_secret ( & mut self , dout : & mut [ u8 ] , private : & [ u8 ] , other_pub : & [ u8 ] ) -> Result < usize , i32 > {
14931531 let mut dout_size = dout. len ( ) as u32 ;
0 commit comments