mongo 2.19.3 → 2.20.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -1
  3. data/Rakefile +81 -172
  4. data/lib/mongo/cluster/topology/base.rb +16 -0
  5. data/lib/mongo/cluster.rb +27 -1
  6. data/lib/mongo/collection/view/iterable.rb +1 -0
  7. data/lib/mongo/collection.rb +4 -2
  8. data/lib/mongo/config.rb +2 -2
  9. data/lib/mongo/error/transactions_not_supported.rb +34 -0
  10. data/lib/mongo/error.rb +1 -0
  11. data/lib/mongo/grid/fs_bucket.rb +6 -0
  12. data/lib/mongo/monitoring/event/secure.rb +1 -1
  13. data/lib/mongo/operation/shared/executable.rb +43 -27
  14. data/lib/mongo/operation/shared/response_handling.rb +23 -25
  15. data/lib/mongo/retryable/base_worker.rb +28 -3
  16. data/lib/mongo/retryable/read_worker.rb +16 -14
  17. data/lib/mongo/retryable/write_worker.rb +11 -8
  18. data/lib/mongo/retryable.rb +2 -2
  19. data/lib/mongo/server/app_metadata/environment.rb +64 -9
  20. data/lib/mongo/server/app_metadata.rb +5 -4
  21. data/lib/mongo/server/description/features.rb +1 -0
  22. data/lib/mongo/server/pending_connection.rb +19 -6
  23. data/lib/mongo/server_selector/base.rb +32 -6
  24. data/lib/mongo/session/server_session/dirtyable.rb +52 -0
  25. data/lib/mongo/session/server_session.rb +3 -0
  26. data/lib/mongo/session/session_pool.rb +12 -18
  27. data/lib/mongo/session.rb +32 -0
  28. data/lib/mongo/socket/ssl.rb +22 -1
  29. data/lib/mongo/uri.rb +0 -4
  30. data/lib/mongo/version.rb +1 -5
  31. data/mongo.gemspec +9 -18
  32. data/spec/atlas/atlas_connectivity_spec.rb +4 -4
  33. data/spec/faas/ruby-sam-app/Gemfile +9 -0
  34. data/spec/faas/ruby-sam-app/mongodb/Gemfile +4 -0
  35. data/spec/faas/ruby-sam-app/mongodb/app.rb +149 -0
  36. data/spec/faas/ruby-sam-app/template.yaml +48 -0
  37. data/spec/integration/client_side_encryption/corpus_spec.rb +10 -2
  38. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +3 -0
  39. data/spec/integration/retryable_reads_errors_spec.rb +196 -31
  40. data/spec/integration/retryable_writes_errors_spec.rb +156 -0
  41. data/spec/integration/sdam_error_handling_spec.rb +2 -0
  42. data/spec/lite_spec_helper.rb +0 -10
  43. data/spec/mongo/cluster_spec.rb +36 -0
  44. data/spec/mongo/collection/view/aggregation_spec.rb +6 -1
  45. data/spec/mongo/collection/view/explainable_spec.rb +2 -0
  46. data/spec/mongo/collection_crud_spec.rb +2 -1
  47. data/spec/mongo/operation/insert_spec.rb +1 -1
  48. data/spec/mongo/retryable/write_worker_spec.rb +39 -0
  49. data/spec/mongo/server/app_metadata/environment_spec.rb +135 -0
  50. data/spec/mongo/server/app_metadata_spec.rb +12 -2
  51. data/spec/mongo/server/connection_spec.rb +26 -0
  52. data/spec/mongo/session/session_pool_spec.rb +1 -16
  53. data/spec/mongo/session_transaction_spec.rb +15 -0
  54. data/spec/mongo/uri_spec.rb +0 -9
  55. data/spec/runners/crud/test.rb +0 -8
  56. data/spec/runners/crud.rb +1 -1
  57. data/spec/runners/transactions/test.rb +12 -3
  58. data/spec/runners/unified/assertions.rb +16 -3
  59. data/spec/runners/unified/crud_operations.rb +12 -0
  60. data/spec/runners/unified/support_operations.rb +3 -5
  61. data/spec/runners/unified/test.rb +8 -1
  62. data/spec/spec_tests/data/client_side_encryption/explain.yml +2 -2
  63. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +1 -0
  64. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +1 -0
  65. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +1 -0
  66. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +1 -0
  67. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +1 -0
  68. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +1 -0
  69. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +1 -0
  70. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +1 -0
  71. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +1 -0
  72. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +1 -0
  73. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +1 -0
  74. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +1 -0
  75. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +1 -0
  76. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +1 -0
  77. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +1 -0
  78. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +1 -0
  79. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +1 -0
  80. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +1 -0
  81. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +1 -0
  82. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +1 -0
  83. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +1 -0
  84. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +1 -0
  85. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +1 -0
  86. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +1 -0
  87. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +1 -0
  88. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +1 -0
  89. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +1 -0
  90. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +1 -0
  91. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +1 -0
  92. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +1 -0
  93. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +1 -0
  94. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +1 -0
  95. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +1 -0
  96. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +1 -0
  97. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +1 -0
  98. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +1 -0
  99. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +1 -0
  100. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +1 -0
  101. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +1 -0
  102. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +1 -0
  103. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +1 -0
  104. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +1 -0
  105. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +1 -0
  106. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +1 -0
  107. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +1 -0
  108. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +1 -0
  109. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +1 -0
  110. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +1 -0
  111. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +1 -0
  112. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +1 -0
  113. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +1 -0
  114. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +1 -0
  115. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +1 -0
  116. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +1 -0
  117. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +1 -0
  118. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +1 -0
  119. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +1 -0
  120. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +2 -1
  121. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -10
  122. data/spec/spec_tests/data/connection_string/valid-options.yml +13 -0
  123. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +2 -0
  124. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +2 -0
  125. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +348 -0
  126. data/spec/spec_tests/data/index_management/createSearchIndex.yml +5 -3
  127. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +7 -4
  128. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +2 -1
  129. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +13 -7
  130. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +2 -1
  131. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +3 -6
  132. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +3 -6
  133. data/spec/spec_tests/data/run_command_unified/runCommand.yml +319 -0
  134. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +351 -0
  135. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +1 -1
  136. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +7 -7
  137. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +3 -4
  138. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +1 -1
  139. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +1 -1
  140. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +3 -3
  141. data/spec/spec_tests/run_command_unified_spec.rb +13 -0
  142. data/spec/spec_tests/sdam_unified_spec.rb +2 -0
  143. data/spec/spec_tests/transactions_unified_spec.rb +2 -1
  144. data/spec/support/certificates/atlas-ocsp-ca.crt +89 -77
  145. data/spec/support/certificates/atlas-ocsp.crt +117 -122
  146. data/spec/support/certificates/retrieve-atlas-cert +1 -1
  147. data/spec/support/constraints.rb +6 -0
  148. data/spec/support/ocsp +1 -1
  149. data/spec/support/recording_logger.rb +27 -0
  150. metadata +1245 -1298
  151. checksums.yaml.gz.sig +0 -0
  152. data/spec/shared/LICENSE +0 -20
  153. data/spec/shared/bin/get-mongodb-download-url +0 -17
  154. data/spec/shared/bin/s3-copy +0 -45
  155. data/spec/shared/bin/s3-upload +0 -69
  156. data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
  157. data/spec/shared/lib/mrss/cluster_config.rb +0 -231
  158. data/spec/shared/lib/mrss/constraints.rb +0 -378
  159. data/spec/shared/lib/mrss/docker_runner.rb +0 -295
  160. data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
  161. data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
  162. data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
  163. data/spec/shared/lib/mrss/server_version_registry.rb +0 -113
  164. data/spec/shared/lib/mrss/session_registry.rb +0 -69
  165. data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
  166. data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
  167. data/spec/shared/lib/mrss/utils.rb +0 -37
  168. data/spec/shared/share/Dockerfile.erb +0 -330
  169. data/spec/shared/share/haproxy-1.conf +0 -16
  170. data/spec/shared/share/haproxy-2.conf +0 -17
  171. data/spec/shared/shlib/config.sh +0 -27
  172. data/spec/shared/shlib/distro.sh +0 -74
  173. data/spec/shared/shlib/server.sh +0 -416
  174. data/spec/shared/shlib/set_env.sh +0 -169
  175. data/spec/spec_tests/data/cmap/pool-clear-interrupt-immediately.yml +0 -49
  176. data/spec/support/faas/app/aws_lambda/mongodb/Gemfile.lock +0 -19
  177. data.tar.gz.sig +0 -3
  178. metadata.gz.sig +0 -0
@@ -2,10 +2,6 @@ description: "poc-retryable-writes"
2
2
 
3
3
  schemaVersion: "1.0"
4
4
 
5
- runOnRequirements:
6
- - minServerVersion: "3.6"
7
- topologies: [ replicaset ]
8
-
9
5
  createEntities:
10
6
  - client:
11
7
  id: &client0 client0
@@ -42,6 +38,9 @@ initialData:
42
38
 
43
39
  tests:
44
40
  - description: "FindOneAndUpdate is committed on first attempt"
41
+ runOnRequirements: &onPrimaryTransactionalWrite_requirements
42
+ - minServerVersion: "3.6"
43
+ topologies: [ replicaset ]
45
44
  operations:
46
45
  - name: failPoint
47
46
  object: testRunner
@@ -65,6 +64,7 @@ tests:
65
64
  - { _id: 2, x: 22 }
66
65
 
67
66
  - description: "FindOneAndUpdate is not committed on first attempt"
67
+ runOnRequirements: *onPrimaryTransactionalWrite_requirements
68
68
  operations:
69
69
  - name: failPoint
70
70
  object: testRunner
@@ -89,6 +89,7 @@ tests:
89
89
  - { _id: 2, x: 22 }
90
90
 
91
91
  - description: "FindOneAndUpdate is never committed"
92
+ runOnRequirements: *onPrimaryTransactionalWrite_requirements
92
93
  operations:
93
94
  - name: failPoint
94
95
  object: testRunner
@@ -117,9 +118,7 @@ tests:
117
118
  - minServerVersion: "4.0"
118
119
  topologies: [ replicaset ]
119
120
  - minServerVersion: "4.1.7"
120
- # Original test uses "sharded", but retryable writes requires a sharded
121
- # cluster backed by replica sets
122
- topologies: [ sharded-replicaset ]
121
+ topologies: [ sharded ]
123
122
  operations:
124
123
  - name: failPoint
125
124
  object: testRunner
@@ -192,6 +191,7 @@ tests:
192
191
  mode: { times: 2 }
193
192
  data:
194
193
  failCommands: [ insert ]
194
+ errorLabels: [ RetryableWriteError ]
195
195
  writeConcernError:
196
196
  code: 91 # ShutdownInProgress
197
197
  errmsg: "Replication is being shut down"
@@ -125,12 +125,11 @@ tests:
125
125
  - description: "Dirty explicit session is discarded"
126
126
  skipReason: RUBY-1813
127
127
  # Original test specified retryWrites=true, but that is now the default.
128
- # Retryable writes will require a sharded-replicaset, though.
129
128
  runOnRequirements:
130
129
  - minServerVersion: "4.0"
131
130
  topologies: [ replicaset ]
132
131
  - minServerVersion: "4.1.8"
133
- topologies: [ sharded-replicaset ]
132
+ topologies: [ sharded ]
134
133
  operations:
135
134
  - name: failPoint
136
135
  object: testRunner
@@ -181,7 +180,7 @@ tests:
181
180
  - commandStartedEvent: &insert_attempt
182
181
  command:
183
182
  insert: *collection0Name
184
- documents:
183
+ documents:
185
184
  - { _id: 2 }
186
185
  ordered: true
187
186
  lsid: { $$sessionLsid: *session0 }
@@ -192,7 +191,7 @@ tests:
192
191
  - commandStartedEvent:
193
192
  command:
194
193
  insert: *collection0Name
195
- documents:
194
+ documents:
196
195
  - { _id: 3 }
197
196
  ordered: true
198
197
  lsid: { $$sessionLsid: *session0 }
@@ -6,7 +6,7 @@ runOnRequirements:
6
6
  - minServerVersion: "4.0"
7
7
  topologies: [ replicaset ]
8
8
  - minServerVersion: "4.1.8"
9
- topologies: [ sharded-replicaset ]
9
+ topologies: [ sharded ]
10
10
 
11
11
  createEntities:
12
12
  - client:
@@ -4,7 +4,7 @@ schemaVersion: "1.0"
4
4
 
5
5
  runOnRequirements:
6
6
  - minServerVersion: "4.1.8"
7
- topologies: [ sharded-replicaset ]
7
+ topologies: [ sharded ]
8
8
 
9
9
  createEntities:
10
10
  - client:
@@ -6,7 +6,7 @@ runOnRequirements:
6
6
  - minServerVersion: "4.0"
7
7
  topologies: [ replicaset ]
8
8
  - minServerVersion: "4.1.8"
9
- topologies: [ sharded-replicaset ]
9
+ topologies: [ sharded ]
10
10
 
11
11
  createEntities:
12
12
  - client:
@@ -51,7 +51,7 @@ tests:
51
51
  - description: "explicitly create collection using create command"
52
52
  runOnRequirements:
53
53
  - minServerVersion: "4.3.4"
54
- topologies: [ replicaset, sharded-replicaset ]
54
+ topologies: [ replicaset, sharded ]
55
55
  operations:
56
56
  - name: dropCollection
57
57
  object: *database0
@@ -109,7 +109,7 @@ tests:
109
109
  - description: "create index on a non-existing collection"
110
110
  runOnRequirements:
111
111
  - minServerVersion: "4.3.4"
112
- topologies: [ replicaset, sharded-replicaset ]
112
+ topologies: [ replicaset, sharded ]
113
113
  operations:
114
114
  - name: dropCollection
115
115
  object: *database0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ # rubocop:todo all
3
+
4
+ require 'spec_helper'
5
+
6
+ require 'runners/unified'
7
+
8
+ base = "#{CURRENT_PATH}/spec_tests/data/run_command_unified"
9
+ RUN_COMMAND_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort
10
+
11
+ describe 'runCommand unified spec tests' do
12
+ define_unified_spec_tests(base, RUN_COMMAND_UNIFIED_TESTS)
13
+ end
@@ -9,5 +9,7 @@ base = "#{CURRENT_PATH}/spec_tests/data/sdam_unified"
9
9
  SDAM_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort
10
10
 
11
11
  describe 'SDAM unified spec tests' do
12
+ forbid_x509_auth
13
+
12
14
  define_unified_spec_tests(base, SDAM_UNIFIED_TESTS)
13
15
  end
@@ -6,7 +6,8 @@ require 'spec_helper'
6
6
  require 'runners/unified'
7
7
 
8
8
  base = "#{CURRENT_PATH}/spec_tests/data/transactions_unified"
9
- TRANSACTIONS_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort
9
+ # See https://jira.mongodb.org/browse/RUBY-3502 for more details
10
+ TRANSACTIONS_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort.reject { |name| name =~ /.*mongos-unpin.yml$/ }
10
11
 
11
12
  describe 'Transactions unified spec tests' do
12
13
  define_unified_spec_tests(base, TRANSACTIONS_UNIFIED_TESTS)
@@ -2,102 +2,114 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 0c:f5:bd:06:2b:56:02:f4:7a:b8:50:2c:23:cc:f0:66
5
+ 91:2b:08:4a:cf:0c:18:a7:53:f6:d6:2e:25:a7:5f:5a
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
7
+ Issuer: C=US, O=Internet Security Research Group, CN=ISRG Root X1
8
8
  Validity
9
- Not Before: Mar 30 00:00:00 2021 GMT
10
- Not After : Mar 29 23:59:59 2031 GMT
11
- Subject: C = US, O = DigiCert Inc, CN = DigiCert Global G2 TLS RSA SHA256 2020 CA1
9
+ Not Before: Sep 4 00:00:00 2020 GMT
10
+ Not After : Sep 15 16:00:00 2025 GMT
11
+ Subject: C=US, O=Let's Encrypt, CN=R3
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
14
  Public-Key: (2048 bit)
15
15
  Modulus:
16
- 00:cc:f7:10:62:4f:a6:bb:63:6f:ed:90:52:56:c5:
17
- 6d:27:7b:7a:12:56:8a:f1:f4:f9:d6:e7:e1:8f:bd:
18
- 95:ab:f2:60:41:15:70:db:12:00:fa:27:0a:b5:57:
19
- 38:5b:7d:b2:51:93:71:95:0e:6a:41:94:5b:35:1b:
20
- fa:7b:fa:bb:c5:be:24:30:fe:56:ef:c4:f3:7d:97:
21
- e3:14:f5:14:4d:cb:a7:10:f2:16:ea:ab:22:f0:31:
22
- 22:11:61:69:90:26:ba:78:d9:97:1f:e3:7d:66:ab:
23
- 75:44:95:73:c8:ac:ff:ef:5d:0a:8a:59:43:e1:ac:
24
- b2:3a:0f:f3:48:fc:d7:6b:37:c1:63:dc:de:46:d6:
25
- db:45:fe:7d:23:fd:90:e8:51:07:1e:51:a3:5f:ed:
26
- 49:46:54:7f:2c:88:c5:f4:13:9c:97:15:3c:03:e8:
27
- a1:39:dc:69:0c:32:c1:af:16:57:4c:94:47:42:7c:
28
- a2:c8:9c:7d:e6:d4:4d:54:af:42:99:a8:c1:04:c2:
29
- 77:9c:d6:48:e4:ce:11:e0:2a:80:99:f0:43:70:cf:
30
- 3f:76:6b:d1:4c:49:ab:24:5e:c2:0d:82:fd:46:a8:
31
- ab:6c:93:cc:62:52:42:75:92:f8:9a:fa:5e:5e:b2:
32
- b0:61:e5:1f:1f:b9:7f:09:98:e8:3d:fa:83:7f:47:
33
- 69:a1
16
+ 00:bb:02:15:28:cc:f6:a0:94:d3:0f:12:ec:8d:55:
17
+ 92:c3:f8:82:f1:99:a6:7a:42:88:a7:5d:26:aa:b5:
18
+ 2b:b9:c5:4c:b1:af:8e:6b:f9:75:c8:a3:d7:0f:47:
19
+ 94:14:55:35:57:8c:9e:a8:a2:39:19:f5:82:3c:42:
20
+ a9:4e:6e:f5:3b:c3:2e:db:8d:c0:b0:5c:f3:59:38:
21
+ e7:ed:cf:69:f0:5a:0b:1b:be:c0:94:24:25:87:fa:
22
+ 37:71:b3:13:e7:1c:ac:e1:9b:ef:db:e4:3b:45:52:
23
+ 45:96:a9:c1:53:ce:34:c8:52:ee:b5:ae:ed:8f:de:
24
+ 60:70:e2:a5:54:ab:b6:6d:0e:97:a5:40:34:6b:2b:
25
+ d3:bc:66:eb:66:34:7c:fa:6b:8b:8f:57:29:99:f8:
26
+ 30:17:5d:ba:72:6f:fb:81:c5:ad:d2:86:58:3d:17:
27
+ c7:e7:09:bb:f1:2b:f7:86:dc:c1:da:71:5d:d4:46:
28
+ e3:cc:ad:25:c1:88:bc:60:67:75:66:b3:f1:18:f7:
29
+ a2:5c:e6:53:ff:3a:88:b6:47:a5:ff:13:18:ea:98:
30
+ 09:77:3f:9d:53:f9:cf:01:e5:f5:a6:70:17:14:af:
31
+ 63:a4:ff:99:b3:93:9d:dc:53:a7:06:fe:48:85:1d:
32
+ a1:69:ae:25:75:bb:13:cc:52:03:f5:ed:51:a1:8b:
33
+ db:15
34
34
  Exponent: 65537 (0x10001)
35
35
  X509v3 extensions:
36
+ X509v3 Key Usage: critical
37
+ Digital Signature, Certificate Sign, CRL Sign
38
+ X509v3 Extended Key Usage:
39
+ TLS Web Client Authentication, TLS Web Server Authentication
36
40
  X509v3 Basic Constraints: critical
37
41
  CA:TRUE, pathlen:0
38
42
  X509v3 Subject Key Identifier:
39
- 74:85:80:C0:66:C7:DF:37:DE:CF:BD:29:37:AA:03:1D:BE:ED:CD:17
43
+ 14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14:C2:C6
40
44
  X509v3 Authority Key Identifier:
41
- 4E:22:54:20:18:95:E6:E3:6E:E6:0F:FA:FA:B9:12:ED:06:17:8F:39
42
- X509v3 Key Usage: critical
43
- Digital Signature, Certificate Sign, CRL Sign
44
- X509v3 Extended Key Usage:
45
- TLS Web Server Authentication, TLS Web Client Authentication
45
+ 79:B4:59:E6:7B:B6:E5:E4:01:73:80:08:88:C8:1A:58:F6:E9:9B:6E
46
46
  Authority Information Access:
47
- OCSP - URI:http://ocsp.digicert.com
48
- CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalRootG2.crt
47
+ CA Issuers - URI:http://x1.i.lencr.org/
49
48
  X509v3 CRL Distribution Points:
50
49
  Full Name:
51
- URI:http://crl3.digicert.com/DigiCertGlobalRootG2.crl
50
+ URI:http://x1.c.lencr.org/
52
51
  X509v3 Certificate Policies:
53
- Policy: 2.16.840.1.114412.2.1
54
- Policy: 2.23.140.1.1
55
52
  Policy: 2.23.140.1.2.1
56
- Policy: 2.23.140.1.2.2
57
- Policy: 2.23.140.1.2.3
53
+ Policy: 1.3.6.1.4.1.44947.1.1.1
58
54
  Signature Algorithm: sha256WithRSAEncryption
59
55
  Signature Value:
60
- 90:f1:70:cb:28:97:69:97:7c:74:fd:c0:fa:26:7b:53:ab:ad:
61
- cd:65:fd:ba:9c:06:9c:8a:d7:5a:43:87:ed:4d:4c:56:5f:ad:
62
- c1:c5:b5:05:20:2e:59:d1:ff:4a:f5:a0:2a:d8:b0:95:ad:c9:
63
- 2e:4a:3b:d7:a7:f6:6f:88:29:fc:30:3f:24:84:bb:c3:b7:7b:
64
- 93:07:2c:af:87:6b:76:33:ed:00:55:52:b2:59:9e:e4:b9:d0:
65
- f3:df:e7:0f:fe:dd:f8:c4:b9:10:72:81:09:04:5f:cf:97:9e:
66
- 2e:32:75:8e:cf:9a:58:d2:57:31:7e:37:01:81:b2:66:6d:29:
67
- 1a:b1:66:09:6d:d1:6e:90:f4:b9:fa:2f:01:14:c5:5c:56:64:
68
- 01:d9:7d:87:a8:38:53:9f:8b:5d:46:6d:5c:c6:27:84:81:d4:
69
- 7e:8c:8c:a3:9b:52:e7:c6:88:ec:37:7c:2a:fb:f0:55:5a:38:
70
- 72:10:d8:00:13:cf:4c:73:db:aa:37:35:a8:29:81:69:9c:76:
71
- bc:de:18:7b:90:d4:ca:cf:ef:67:03:fd:04:5a:21:16:b1:ff:
72
- ea:3f:df:dc:82:f5:eb:f4:59:92:23:0d:24:2a:95:25:4c:ca:
73
- a1:91:e6:d4:b7:ac:87:74:b3:f1:6d:a3:99:db:f9:d5:bd:84:
74
- 40:9f:07:98
56
+ 85:ca:4e:47:3e:a3:f7:85:44:85:bc:d5:67:78:b2:98:63:ad:
57
+ 75:4d:1e:96:3d:33:65:72:54:2d:81:a0:ea:c3:ed:f8:20:bf:
58
+ 5f:cc:b7:70:00:b7:6e:3b:f6:5e:94:de:e4:20:9f:a6:ef:8b:
59
+ b2:03:e7:a2:b5:16:3c:91:ce:b4:ed:39:02:e7:7c:25:8a:47:
60
+ e6:65:6e:3f:46:f4:d9:f0:ce:94:2b:ee:54:ce:12:bc:8c:27:
61
+ 4b:b8:c1:98:2f:a2:af:cd:71:91:4a:08:b7:c8:b8:23:7b:04:
62
+ 2d:08:f9:08:57:3e:83:d9:04:33:0a:47:21:78:09:82:27:c3:
63
+ 2a:c8:9b:b9:ce:5c:f2:64:c8:c0:be:79:c0:4f:8e:6d:44:0c:
64
+ 5e:92:bb:2e:f7:8b:10:e1:e8:1d:44:29:db:59:20:ed:63:b9:
65
+ 21:f8:12:26:94:93:57:a0:1d:65:04:c1:0a:22:ae:10:0d:43:
66
+ 97:a1:18:1f:7e:e0:e0:86:37:b5:5a:b1:bd:30:bf:87:6e:2b:
67
+ 2a:ff:21:4e:1b:05:c3:f5:18:97:f0:5e:ac:c3:a5:b8:6a:f0:
68
+ 2e:bc:3b:33:b9:ee:4b:de:cc:fc:e4:af:84:0b:86:3f:c0:55:
69
+ 43:36:f6:68:e1:36:17:6a:8e:99:d1:ff:a5:40:a7:34:b7:c0:
70
+ d0:63:39:35:39:75:6e:f2:ba:76:c8:93:02:e9:a9:4b:6c:17:
71
+ ce:0c:02:d9:bd:81:fb:9f:b7:68:d4:06:65:b3:82:3d:77:53:
72
+ f8:8e:79:03:ad:0a:31:07:75:2a:43:d8:55:97:72:c4:29:0e:
73
+ f7:c4:5d:4e:c8:ae:46:84:30:d7:f2:85:5f:18:a1:79:bb:e7:
74
+ 5e:70:8b:07:e1:86:93:c3:b9:8f:dc:61:71:25:2a:af:df:ed:
75
+ 25:50:52:68:8b:92:dc:e5:d6:b5:e3:da:7d:d0:87:6c:84:21:
76
+ 31:ae:82:f5:fb:b9:ab:c8:89:17:3d:e1:4c:e5:38:0e:f6:bd:
77
+ 2b:bd:96:81:14:eb:d5:db:3d:20:a7:7e:59:d3:e2:f8:58:f9:
78
+ 5b:b8:48:cd:fe:5c:4f:16:29:fe:1e:55:23:af:c8:11:b0:8d:
79
+ ea:7c:93:90:17:2f:fd:ac:a2:09:47:46:3f:f0:e9:b0:b7:ff:
80
+ 28:4d:68:32:d6:67:5e:1e:69:a3:93:b8:f5:9d:8b:2f:0b:d2:
81
+ 52:43:a6:6f:32:57:65:4d:32:81:df:38:53:85:5d:7e:5d:66:
82
+ 29:ea:b8:dd:e4:95:b5:cd:b5:56:12:42:cd:c4:4e:c6:25:38:
83
+ 44:50:6d:ec:ce:00:55:18:fe:e9:49:64:d4:4e:ca:97:9c:b4:
84
+ 5b:c0:73:a8:ab:b8:47:c2
75
85
 
76
86
  -----BEGIN CERTIFICATE-----
77
- MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh
78
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
79
- d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
80
- MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT
81
- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh
82
- bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD
83
- ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV
84
- cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy
85
- FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc
86
- 3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8
87
- osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT
88
- zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud
89
- EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G
90
- A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd
91
- BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG
92
- CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG
93
- NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH
94
- Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t
95
- L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC
96
- ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG
97
- 9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t
98
- wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS
99
- slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R
100
- bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4
101
- chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN
102
- JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA==
87
+ MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
88
+ TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
89
+ cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
90
+ WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
91
+ RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
92
+ AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
93
+ R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
94
+ sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
95
+ NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
96
+ Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
97
+ /kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
98
+ AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
99
+ Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
100
+ FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
101
+ AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
102
+ Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
103
+ gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
104
+ PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
105
+ ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
106
+ CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
107
+ lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
108
+ avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
109
+ yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
110
+ yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
111
+ hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
112
+ HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
113
+ MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
114
+ nLRbwHOoq7hHwg==
103
115
  -----END CERTIFICATE-----