public PublicKey parsePublicKey(String base64String) throws IllegalArgumentException {
        try {
            byte[] bytes = Base64.getDecoder().decode(base64String);
            X509EncodedKeySpec spec = new X509EncodedKeySpec(bytes);
            KeyFactory rsa = KeyFactory.getInstance(this.keyFactoryAlgorithm);
            return rsa.generatePublic(spec);
        } catch (Exception e) {
            throw new IllegalArgumentException("Exception parsing public key", e);
        }
    }
Parse a public key from the given string.

@param base64String a base64 string encoding the public key
@return the parsed public key
@throws IllegalArgumentException if the input was invalid
common/src/main/java/me/lucko/luckperms/common/webeditor/socket/SignatureAlgorithm.java