File tree Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Original file line number Diff line number Diff line change @@ -199,6 +199,16 @@ impl TryFrom<&KeySpec> for OksKeySpec {
199199 type Error = anyhow:: Error ;
200200
201201 fn try_from ( spec : & KeySpec ) -> Result < Self , Self :: Error > {
202+ let sn_bytes = spec. initial_serial_number . to_bytes_be ( ) ;
203+ if sn_bytes. len ( ) > 20 {
204+ return Err ( anyhow:: anyhow!(
205+ "initial serial number is greater than 20 bytes"
206+ ) ) ;
207+ }
208+
209+ let mut initial_serial_number = [ 0u8 ; 20 ] ;
210+ initial_serial_number[ ..sn_bytes. len ( ) ] . copy_from_slice ( & sn_bytes) ;
211+
202212 Ok ( OksKeySpec {
203213 common_name : spec. common_name . clone ( ) ,
204214 id : spec. id ,
@@ -208,19 +218,7 @@ impl TryFrom<&KeySpec> for OksKeySpec {
208218 hash : spec. hash ,
209219 label : spec. label . clone ( ) . try_into ( ) ?,
210220 purpose : spec. purpose ,
211- initial_serial_number : match spec
212- . initial_serial_number
213- . to_bytes_be ( )
214- . try_into ( )
215- {
216- Ok ( sn) => sn,
217- Err ( v) => {
218- return Err ( anyhow:: anyhow!(
219- "Expected array of 20 bytes, got {}" ,
220- v. len( )
221- ) ) ;
222- }
223- } ,
221+ initial_serial_number,
224222 self_signed : spec. self_signed ,
225223 } )
226224 }
You can’t perform that action at this time.
0 commit comments