Skip to content

Erlang 28.0.1 Error: Type not compatible with table constraint #96

@deepankar-j

Description

@deepankar-j

When using Erlang 28.0.1 with x509 v0.9.1 I'm encountering the error "Type not compatible with table constraint" when running the code snippet below. This error is not seen when all other versions are kept the same, but Erlang is dropped to v27.3.4.1.

Versions

  • erlang: v28.0.1
  • elixir: v1.18.4
  • x509: v0.9.1

Test Case

cert_der = ~S(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)
{:ok, cert} = cert_der |> Base.decode64!() |> X509.Certificate.from_der()
public_key = X509.Certificate.public_key(cert)

Error

** (exit) {:"Type not compatible with table constraint", {:error, {:asn1, :bad_range}}}
    (public_key 1.18.1) ../src/PKIX1Explicit-2009.erl:1116: :"PKIX1Explicit-2009".dec_RelativeDistinguishedName_SingleAttribute/2
    (public_key 1.18.1) ../src/PKIX1Explicit-2009.erl:1089: :"PKIX1Explicit-2009"."-dec_RelativeDistinguishedName/2-lc$^0/1-0-"/1
    (public_key 1.18.1) ../src/PKIX1Explicit-2009.erl:1013: :"PKIX1Explicit-2009"."-dec_RDNSequence/2-lc$^0/1-0-"/1
    (public_key 1.18.1) ../src/PKIX1Explicit-2009.erl:1013: :"PKIX1Explicit-2009"."-dec_RDNSequence/2-lc$^0/1-0-"/1
    (public_key 1.18.1) ../src/PKIX1Explicit-2009.erl:978: :"PKIX1Explicit-2009".dec_Name/2
    (public_key 1.18.1) ../src/PKIX1Implicit-2009.erl:1184: :"PKIX1Implicit-2009".dec_GeneralName/2
    (public_key 1.18.1) ../src/PKIX1Implicit-2009.erl:1109: :"PKIX1Implicit-2009"."-dec_GeneralNames/2-lc$^0/1-0-"/1
    iex:5: (file)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions