code: func canonicalPadding(b []byte) error {
  	switch {
  	case b[0]&0x80 == 0x80:
  		return errNegativeValue
  	case len(b) > 1 && b[0] == 0x00 && b[1]&0x80 != 0x80:
  		return errExcessivelyPaddedValue
  	default:
  		return nil
  	}
  }
docs: // canonicalPadding checks whether a big-endian encoded integer could
  // possibly be misinterpreted as a negative number (even though OpenSSL
  // treats all numbers as unsigned), or if there is any unnecessary
  // leading zero padding.