mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
* feat: add new supported attestation formats to genesis * feat: refactor keyType to keytype enum * refactor: remove unused imports and code * refactor: update main.go to use src package * refactor: move web-related structs from to * refactor: move client middleware package to root * refactor: remove unused IndexedDB dependency * feat: update worker implementation to use * feat: add Caddyfile and Caddy configuration for vault service * refactor(config): move keyshare and address to Motr config * fix: validate service origin in AllocateVault * chore: remove IndexedDB configuration * feat: add support for IPNS-based vault access
27 lines
679 B
Go
27 lines
679 B
Go
package orm
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/go-webauthn/webauthn/protocol/webauthncose"
|
|
)
|
|
|
|
// ExtractWebAuthnPublicKey parses the raw public key bytes and returns a JWK representation
|
|
func ExtractWebAuthnPublicKey(keyBytes []byte) (*JWK, error) {
|
|
key, err := webauthncose.ParsePublicKey(keyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to parse public key: %w", err)
|
|
}
|
|
|
|
switch k := key.(type) {
|
|
case *webauthncose.EC2PublicKeyData:
|
|
return FormatEC2PublicKey(k)
|
|
case *webauthncose.RSAPublicKeyData:
|
|
return FormatRSAPublicKey(k)
|
|
case *webauthncose.OKPPublicKeyData:
|
|
return FormatOKPPublicKey(k)
|
|
default:
|
|
return nil, fmt.Errorf("unsupported key type")
|
|
}
|
|
}
|