648540858
2024-05-28 c69b64c756770067c8c89d1f2f2fb80d4a88031f
src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
@@ -24,14 +24,9 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
@@ -86,29 +81,22 @@
    /**
     * 创建密钥对
     *
     * @throws JoseException JoseException
     */
    private RsaJsonWebKey generateRsaJsonWebKey() throws JoseException {
        RsaJsonWebKey rsaJsonWebKey = null;
        try {
            URL url = getClass().getClassLoader().getResource("jwk.json");
            if (url != null) {
                URI uri = url.toURI();
                Path path = Paths.get(uri);
                if (Files.exists(path)) {
                    byte[] allBytes = Files.readAllBytes(path);
                    String jwkJson = new String(allBytes, StandardCharsets.UTF_8);
                    final JsonWebKeySet jsonWebKeySet = new JsonWebKeySet(jwkJson);
                    List<JsonWebKey> jsonWebKeys = jsonWebKeySet.getJsonWebKeys();
                    if (!jsonWebKeys.isEmpty()) {
                        JsonWebKey jsonWebKey = jsonWebKeys.get(0);
                        if (jsonWebKey instanceof RsaJsonWebKey) {
                            rsaJsonWebKey = (RsaJsonWebKey) jsonWebKey;
                        }
                    }
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream("/jwk.json"), StandardCharsets.UTF_8))) {
            String jwkJson = reader.readLine();
            JsonWebKeySet jsonWebKeySet = new JsonWebKeySet(jwkJson);
            List<JsonWebKey> jsonWebKeys = jsonWebKeySet.getJsonWebKeys();
            if (!jsonWebKeys.isEmpty()) {
                JsonWebKey jsonWebKey = jsonWebKeys.get(0);
                if (jsonWebKey instanceof RsaJsonWebKey) {
                    rsaJsonWebKey = (RsaJsonWebKey) jsonWebKey;
                }
            }
        } catch (URISyntaxException | IOException e) {
        } catch (Exception e) {
            // ignored
        }
        if (rsaJsonWebKey == null) {