multibaseKeyToJwk function
Implementation
Map<String, dynamic> multibaseKeyToJwk(String multibaseKey) {
var key = _multibaseToUint8List(multibaseKey);
var indicator = key.sublist(0, 2);
var indicatorHex = bytesToHex(indicator);
key = key.sublist(2);
Map<String, dynamic> jwk = {};
if (indicatorHex == 'ed01') {
jwk['kty'] = 'OKP';
jwk['crv'] = 'Ed25519';
jwk['x'] = removePaddingFromBase64(base64UrlEncode(key));
} else if (indicatorHex == 'ec01') {
jwk['kty'] = 'OKP';
jwk['crv'] = 'X25519';
jwk['x'] = removePaddingFromBase64(base64UrlEncode(key));
} else {
throw UnimplementedError(
'Unsupported multicodec indicator 0x$indicatorHex');
}
return jwk;
}