Skip to content

Commit 3a6df1b

Browse files
committed
Improve DidKey.from implementation
1 parent 038759f commit 3a6df1b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/main/java/com/apicatalog/did/key/DidKey.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.net.URI;
44

55
import com.apicatalog.did.Did;
6+
import com.apicatalog.multibase.Multibase;
67
import com.apicatalog.multibase.MultibaseDecoder;
78
import com.apicatalog.multicodec.Multicodec;
89
import com.apicatalog.multicodec.Multicodec.Tag;
@@ -67,7 +68,9 @@ public static final DidKey from(final Did did) {
6768
throw new IllegalArgumentException("The given DID method [" + did.getMethod() + "] is not 'key'. DID [" + did.toString() + "].");
6869
}
6970

70-
final byte[] decoded = MULTIBASE.decode(did.getMethodSpecificId());
71+
final Multibase base = MULTIBASE.getBase(did.getMethodSpecificId()).orElseThrow(() -> new IllegalArgumentException("Cannot detect did:key base encoding."));
72+
73+
final byte[] decoded = base.decode(did.getMethodSpecificId());
7174

7275
final Multicodec codec = MULTICODEC.getCodec(decoded).orElseThrow(() -> new IllegalArgumentException("Cannot detect did:key codec."));
7376

0 commit comments

Comments
 (0)