code: def serial_number(self, value):
          
  
          if not isinstance(value, int_types):
              raise TypeError(_pretty_message(
                  '''
                  serial_number must be an integer, not %s
                  ''',
                  _type_name(value)
              ))
  
          if value < 0:
              raise ValueError(_pretty_message(
                  '''
                  serial_number must be a non-negative integer, not %s
                  ''',
                  repr(value)
              ))
  
          if len(int_to_bytes(value)) > 20:
              required_bits = len(int_to_bytes(value)) * 8
              raise ValueError(_pretty_message(
                  '''
                  serial_number must be an integer that can be represented by a
                  160-bit number, specified requires %s
                  ''',
                  required_bits
              ))
  
          self._serial_number = value
docs: An int representable in 160 bits or less - must uniquely identify
          this certificate when combined with the issuer name.