fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. class Ideone
  8. {
  9. public static void main (String[] args) throws java.lang.Exception
  10. {
  11. final String regex = "\\bAuthorityInfoAccess\\s*\\[\\s*\\[(?:\\R(?!.*\\baccessMethod: caIssuers).*)*\\R.*\\baccessMethod: caIssuers\\R\\s*accessLocation: URIName:\\s*(https?://\\S+)";
  12. final String string = "[\n"
  13. + "[\n"
  14. + " Version: V3\n"
  15. + " Subject: CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1, O=\"DigiCert, Inc.\", C=US\n"
  16. + " Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11\n\n"
  17. + " Key: Sun EC public key, 256 bits\n"
  18. + " public x coord: 46922930096926857556524221823769659737755518953746800561114373165101317926430\n"
  19. + " public y coord: 28418761285841432519462039103521095162475800069609980635592577603211275159549\n"
  20. + " parameters: secp256r1 [NIST P-256, X9.62 prime256v1] (1.2.840.10045.3.1.7)\n"
  21. + " Validity: [From: Thu Dec 17 01:00:00 CET 2020,\n"
  22. + " To: Tue Dec 17 00:59:59 CET 2030]\n"
  23. + " Issuer: CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US\n"
  24. + " SerialNumber: [ 0667035b bb14fd63 afc0d6a8 534efe16]\n\n"
  25. + "Certificate Extensions: 8\n"
  26. + "[1]: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false\n"
  27. + "AuthorityInfoAccess [\n"
  28. + " [\n"
  29. + " accessMethod: ocsp\n"
  30. + " accessLocation: URIName: http://o...content-available-to-author-only...t.com\n"
  31. + ", \n"
  32. + " accessMethod: caIssuers\n"
  33. + " accessLocation: URIName: http://c...content-available-to-author-only...t.com/DigiCertHighAssuranceEVRootCA.crt\n"
  34. + "]\n"
  35. + "]\n\n"
  36. + "[2]: ObjectId: 2.5.29.35 Criticality=false\n"
  37. + "AuthorityKeyIdentifier [\n"
  38. + "KeyIdentifier [\n"
  39. + "0000: B1 3E C3 69 03 F8 BF 47 01 D4 98 26 1A 08 02 EF .>.i...G...&....\n"
  40. + "0010: 63 64 2B C3 cd+.\n"
  41. + "]\n"
  42. + "]\n\n"
  43. + "[3]: ObjectId: 2.5.29.19 Criticality=true\n"
  44. + "BasicConstraints:[\n"
  45. + " CA:true\n"
  46. + " PathLen:0\n"
  47. + "]\n\n"
  48. + "[4]: ObjectId: 2.5.29.31 Criticality=false\n"
  49. + "CRLDistributionPoints [\n"
  50. + " [DistributionPoint:\n"
  51. + " [URIName: http://c...content-available-to-author-only...t.com/DigiCertHighAssuranceEVRootCA.crl]\n"
  52. + "]]\n\n"
  53. + "[5]: ObjectId: 2.5.29.32 Criticality=false\n"
  54. + "CertificatePolicies [\n"
  55. + " [CertificatePolicyId: [2.23.140.1.2.2]\n"
  56. + "[] ]\n"
  57. + " [CertificatePolicyId: [2.23.140.1.2.3]\n"
  58. + "[] ]\n"
  59. + " [CertificatePolicyId: [2.23.140.1.1]\n"
  60. + "[] ]\n"
  61. + " [CertificatePolicyId: [2.23.140.1.2.1]\n"
  62. + "[] ]\n"
  63. + "]\n\n"
  64. + "[6]: ObjectId: 2.5.29.37 Criticality=false\n"
  65. + "ExtendedKeyUsages [\n"
  66. + " serverAuth\n"
  67. + " clientAuth\n"
  68. + "]\n\n"
  69. + "[7]: ObjectId: 2.5.29.15 Criticality=true\n"
  70. + "KeyUsage [\n"
  71. + " DigitalSignature\n"
  72. + " Key_CertSign\n"
  73. + " Crl_Sign\n"
  74. + "]\n\n"
  75. + "[8]: ObjectId: 2.5.29.14 Criticality=false\n"
  76. + "SubjectKeyIdentifier [\n"
  77. + "KeyIdentifier [\n"
  78. + "0000: 50 61 A6 A0 D2 35 C4 11 2A 20 8D 1F 0F AC 42 F0 Pa...5..* ....B.\n"
  79. + "0010: CD 29 CF 4B .).K\n"
  80. + "]\n"
  81. + "]\n\n"
  82. + "]\n"
  83. + " Algorithm: [SHA256withRSA]\n"
  84. + " Signature:\n"
  85. + "0000: 73 10 1F C8 61 88 17 CD 6F 1C 04 C3 16 DB 4C 09 s...a...o.....L.\n"
  86. + "0010: EE 8C FC 94 87 FA 22 D0 9A DF 64 8D EE F4 9B A2 ......\"...d.....\n"
  87. + "0020: 2E A7 1A EF 6D 03 E9 FA 12 FC 00 79 FB 81 08 C6 ....m......y....\n"
  88. + "0030: 99 BB 08 C1 B8 31 D3 7F 97 BA 00 88 38 A9 68 23 .....1......8.h#\n"
  89. + "0040: EF 98 E9 A9 61 4A 67 4F B0 3A DC 2A F4 AB 88 3C ....aJgO.:.*...<\n"
  90. + "0050: E2 B2 35 66 67 6A 03 8D 25 55 45 1F EA A0 BA 13 ..5fgj..%UE.....\n"
  91. + "0060: 7E 2D 0B BD EA 0D 01 7C 4C 94 AB 7E C7 16 15 D0 .-......L.......\n"
  92. + "0070: A5 45 74 7D 27 84 06 AE 46 76 54 D3 12 0F 39 43 .Et.'...FvT...9C\n"
  93. + "0080: 47 35 82 68 0F 79 31 F3 BC C7 4D 65 F9 97 68 A5 G5.h.y1...Me..h.\n"
  94. + "0090: D1 3C 16 F3 3B F2 01 9D E3 3C 5E 59 BF 2F F7 DD .<..;....<^Y./..\n"
  95. + "00A0: 7E 98 1C 53 0D EA 6A 2A EC BF 8C 5E 51 9B A0 61 ...S..j*...^Q..a\n"
  96. + "00B0: 7F 1A F7 DC 00 D1 B3 AD 2C D6 DD 7A 76 D6 77 A4 ........,..zv.w.\n"
  97. + "00C0: E6 0B 00 B0 53 3C 3E 4A 85 9E 9A FB F7 64 E5 D9 ....S<>J.....d..\n"
  98. + "00D0: E1 E9 CE 0F 69 E6 50 60 15 00 87 E1 AE C5 F6 81 ....i.P`........\n"
  99. + "00E0: 95 4E 2A 43 C1 2D 8C 13 02 40 7A DE 30 8C 17 1D .N*C.-...@z.0...\n"
  100. + "00F0: 81 D6 E4 54 58 1A 38 11 E0 D3 2E 68 8C 36 8C 3D ...TX.8....h.6.=\n\n"
  101. + "]";
  102.  
  103. final Pattern pattern = Pattern.compile(regex);
  104. final Matcher matcher = pattern.matcher(string);
  105.  
  106. if (matcher.find()) {
  107. System.out.println(matcher.group(1));
  108. }
  109. }
  110. }
Success #stdin #stdout 0.14s 48256KB
stdin
Standard input is empty
stdout
http://c...content-available-to-author-only...t.com/DigiCertHighAssuranceEVRootCA.crt