diff --git a/server/eebus.go b/server/eebus.go index c1f6e9c20..0ce8f7930 100644 --- a/server/eebus.go +++ b/server/eebus.go @@ -19,6 +19,7 @@ import ( "github.com/evcc-io/evcc/util" "github.com/evcc-io/evcc/util/machine" "github.com/libp2p/zeroconf/v2" + "golang.org/x/crypto/cryptobyte" ) var EEBUSDetails = communication.ManufacturerDetails{ @@ -92,6 +93,13 @@ func NewEEBus(other map[string]interface{}) (*EEBus, error) { return nil, err } + // Test if go is patched for accepting the buggy Elli certificate + var res bool + b := cryptobyte.String([]byte{0x01, 0x01, 0x01}) + if ok := b.ReadASN1Boolean(&res); !ok { + panic("EEBUS needs a patched go crypto library. Run `make patch-asn1` before compiling.") + } + srv := &server.Server{ Log: log.TRACE, Addr: cc.Uri,