Java эквивалент Go libtrust publi c key KeyId () - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь написать код Go из следующего руководства в Java

https://medium.com/@adigunhammedolalekan / create- docker -registry-token-authentication-server-with- go -1ce3aa030c17

Я застрял на следующем

header := token.Header{
    Type:       "JWT",
    SigningAlg: algo,
    KeyID:      srv.pubKey.KeyID(),
}

Кажется, это что-то особенное c для этой библиотеки и повторно используется в службе реестра docker для проверки правильности ключа, используемого для подписи.

В коде GithUb есть некоторые объяснения, ie

// KeyID returns a distinct identifier which is unique to this Public Key.
// The format generated by this library is a base32 encoding of a 240 bit
// hash of the public key data divided into 12 groups like so:
//    ABCD:EFGH:IJKL:MNOP:QRST:UVWX:YZ23:4567:ABCD:EFGH:IJKL:MNOP
KeyID() string

Но у меня нет точного представления о том, как выполнить выше, например, говорится о ha sh, но что за ha sh? Есть ли где-нибудь готовая библиотека для этого?

...