Skip to content

crypto/x509: wrong value of RevocationList.AuthorityKeyId #67571

Description

@andrewkostevich

Go version

go version go1.20.6 windows/amd64

Output of go env in your module/workspace:

set GO111MODULE=on
set GOARCH=amd64
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOOS=windows
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOVCS=
set GOVERSION=go1.20.6
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=x86_64-w64-mingw32-gcc
set CXX=x86_64-w64-mingw32-g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config

What did you do?

rl, _:= x509.ParseRevocationList(crl)
fmt.Println(hex.EncodeToString(rl.AuthorityKeyId))

What did you see happen?

AuthorityKeyId is not decoded from DER completely, it contains DER prefix SEQUENCE [0]

For a sample CRL: 3016 8014 99c826668f2d01b54a27ae658284092f2dab97fc instead of 99c826668f2d01b54a27ae658284092f2dab97fc

RevocationList.AuthorityKeyId is not decoded here: parser.go

What did you expect to see?

Correctly decoded AuthorityKeyId value.

RevocationList.AuthorityKeyId should be decoded same way as Certificate.AuthorityKeyId: parser.go

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions