void parseAuthorityKeyIdentifierExtension ( AuthorityKeyIdentifierExtension akidext ) throws IOException { if ( akidext != null ) { KeyIdentifier akid = ( KeyIdentifier ) akidext . get ( AuthorityKeyIdentifierExtension . KEY_ID ) ; if ( akid != null ) { // Do not override the previous setting for initial selection. if ( isSKIDSensitive || getSubjectKeyIdentifier ( ) == null ) { DerOutputStream derout = new DerOutputStream ( ) ; derout . putOctetString ( akid . getIdentifier ( ) ) ; super . setSubjectKeyIdentifier ( derout . toByteArray ( ) ) ; isSKIDSensitive = true ; } } SerialNumber asn = ( SerialNumber ) akidext . get ( AuthorityKeyIdentifierExtension . SERIAL_NUMBER ) ; if ( asn != null ) { // Do not override the previous setting for initial selection. if ( isSNSensitive || getSerialNumber ( ) == null ) { super . setSerialNumber ( asn . getNumber ( ) ) ; isSNSensitive = true ; } } // the subject criterion should be set by the caller. } }
Parse the authority key identifier extension .