fix JSONUtil.isJson

This commit is contained in:
Looly
2021-02-03 12:57:14 +08:00
parent f126ded53a
commit 1a7812a281
6 changed files with 30 additions and 8 deletions

View File

@@ -3,10 +3,13 @@
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
# 5.5.9 (2021-01-30) # 5.5.9 (2021-02-03)
### 新特性 ### 新特性
* 【crypto 】 PemUtil.readPemKey支持ECpr#1366@Github
### Bug修复 ### Bug修复
* 【json 】 JSONUtil.isJson方法改变trim策略解决特殊空白符导致判断失败问题
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------

View File

@@ -63,8 +63,16 @@ public class PemUtil {
final PemObject object = readPemObject(keyStream); final PemObject object = readPemObject(keyStream);
final String type = object.getType(); final String type = object.getType();
if (StrUtil.isNotBlank(type)) { if (StrUtil.isNotBlank(type)) {
if (type.endsWith("PRIVATE KEY")) { //private
if (type.endsWith("EC PRIVATE KEY")) {
return KeyUtil.generatePrivateKey("EC", object.getContent());
}if (type.endsWith("PRIVATE KEY")) {
return KeyUtil.generateRSAPrivateKey(object.getContent()); return KeyUtil.generateRSAPrivateKey(object.getContent());
}
// public
if (type.endsWith("EC PUBLIC KEY")) {
return KeyUtil.generatePublicKey("EC", object.getContent());
} else if (type.endsWith("PUBLIC KEY")) { } else if (type.endsWith("PUBLIC KEY")) {
return KeyUtil.generateRSAPublicKey(object.getContent()); return KeyUtil.generateRSAPublicKey(object.getContent());
} else if (type.endsWith("CERTIFICATE")) { } else if (type.endsWith("CERTIFICATE")) {

View File

@@ -42,4 +42,10 @@ public class PemUtilTest {
String decryptStr = rsa.decryptStr(encryptStr, KeyType.PrivateKey); String decryptStr = rsa.decryptStr(encryptStr, KeyType.PrivateKey);
Assert.assertEquals(str, decryptStr); Assert.assertEquals(str, decryptStr);
} }
@Test
public void readECPrivateKeyTest() {
PrivateKey privateKey = PemUtil.readPemPrivateKey(ResourceUtil.getStream("test_ec_private_key.pem"));
Assert.assertNotNull(privateKey);
}
} }

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIKB89IhhSy9WrtQS7TWO5Yqyv5a3DnogWYUhb3TbzjnWoAoGCCqBHM9V
AYItoUQDQgAE3LRuqCM697gL3jPhw98eGfTDcJsuJr6H1nE4VkgdtBdX3So2lC6m
UGEnWeRZuh8HnzCRobcu02Bgv7CVR5Iigg==
-----END EC PRIVATE KEY-----

View File

@@ -801,7 +801,7 @@ public final class JSONUtil {
if (StrUtil.isBlank(str)) { if (StrUtil.isBlank(str)) {
return false; return false;
} }
return StrUtil.isWrap(str.trim(), '{', '}'); return StrUtil.isWrap(StrUtil.trim(str), '{', '}');
} }
/** /**
@@ -815,7 +815,7 @@ public final class JSONUtil {
if (StrUtil.isBlank(str)) { if (StrUtil.isBlank(str)) {
return false; return false;
} }
return StrUtil.isWrap(str.trim(), '[', ']'); return StrUtil.isWrap(StrUtil.trim(str), '[', ']');
} }
/** /**