You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2020/09/30 16:26:03 UTC
[tika] branch branch_1x updated (9736af8 -> 1fce089)
This is an automated email from the ASF dual-hosted git repository.
nick pushed a change to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git.
from 9736af8 Fix TIKA-3196 (#364)
new 5c2c4a2 Add test certificate and key for TIKA-3205
new 28ec71d TIKA-3205 Add magic for X509 PEM certificate, and tweak default type
new e952877 Add some more DER magic for certificates, and add tests TIKA-3205
new 51829d6 Split the Certificate and Key mimetypes into DER and PEM subtypes, add test EC files. TIKA-3205
new 1fce089 Make the DER private key mostly-match a bit more specific
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../org/apache/tika/mime/tika-mimetypes.xml | 72 ++++++++++++++++++++-
.../java/org/apache/tika/TikaDetectionTest.java | 5 +-
.../java/org/apache/tika/mime/TestMimeTypes.java | 18 ++++++
.../src/test/resources/test-documents/testCERT.der | Bin 0 -> 702 bytes
.../src/test/resources/test-documents/testCERT.pem | 17 +++++
.../test/resources/test-documents/testDSAKEY.der | Bin 0 -> 834 bytes
.../test/resources/test-documents/testDSAKEY.pem | 15 +++++
.../resources/test-documents/testDSAPARAMS.pem | 14 ++++
.../test/resources/test-documents/testECKEY.der | Bin 0 -> 167 bytes
.../test/resources/test-documents/testECKEY.pem | 6 ++
.../test/resources/test-documents/testECPARAMS.pem | 3 +
.../test/resources/test-documents/testRSAKEY.der | Bin 0 -> 610 bytes
.../test/resources/test-documents/testRSAKEY.pem | 16 +++++
13 files changed, 162 insertions(+), 4 deletions(-)
create mode 100644 tika-parsers/src/test/resources/test-documents/testCERT.der
create mode 100644 tika-parsers/src/test/resources/test-documents/testCERT.pem
create mode 100644 tika-parsers/src/test/resources/test-documents/testDSAKEY.der
create mode 100644 tika-parsers/src/test/resources/test-documents/testDSAKEY.pem
create mode 100644 tika-parsers/src/test/resources/test-documents/testDSAPARAMS.pem
create mode 100644 tika-parsers/src/test/resources/test-documents/testECKEY.der
create mode 100644 tika-parsers/src/test/resources/test-documents/testECKEY.pem
create mode 100644 tika-parsers/src/test/resources/test-documents/testECPARAMS.pem
create mode 100644 tika-parsers/src/test/resources/test-documents/testRSAKEY.der
create mode 100644 tika-parsers/src/test/resources/test-documents/testRSAKEY.pem
[tika] 01/05: Add test certificate and key for TIKA-3205
Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
nick pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 5c2c4a2fb91cc160eaf007b71efcd854402e1624
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Sep 29 15:26:48 2020 +0100
Add test certificate and key for TIKA-3205
---
.../src/test/resources/test-documents/testCERT.der | Bin 0 -> 702 bytes
.../src/test/resources/test-documents/testCERT.pem | 17 +++++++++++++++++
.../src/test/resources/test-documents/testRSAKEY.der | Bin 0 -> 610 bytes
.../src/test/resources/test-documents/testRSAKEY.pem | 16 ++++++++++++++++
4 files changed, 33 insertions(+)
diff --git a/tika-parsers/src/test/resources/test-documents/testCERT.der b/tika-parsers/src/test/resources/test-documents/testCERT.der
new file mode 100644
index 0000000..935f1f6
Binary files /dev/null and b/tika-parsers/src/test/resources/test-documents/testCERT.der differ
diff --git a/tika-parsers/src/test/resources/test-documents/testCERT.pem b/tika-parsers/src/test/resources/test-documents/testCERT.pem
new file mode 100644
index 0000000..dbfd849
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testCERT.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICujCCAiOgAwIBAgIUKOX/l1c68ya6jnfeRJ8uP9kvVx8wDQYJKoZIhvcNAQEL
+BQAwbzELMAkGA1UEBhMCWloxFDASBgNVBAgMC0FwYWNoZSBUaWthMQ8wDQYDVQQH
+DAZBcGFjaGUxDTALBgNVBAoMBFRpa2ExFDASBgNVBAsMC0FwYWNoZSBUaWthMRQw
+EgYDVQQDDAtBcGFjaGUgVGlrYTAeFw0yMDA5MjkxNDIzNDRaFw0zMDA5MjcxNDIz
+NDRaMG8xCzAJBgNVBAYTAlpaMRQwEgYDVQQIDAtBcGFjaGUgVGlrYTEPMA0GA1UE
+BwwGQXBhY2hlMQ0wCwYDVQQKDARUaWthMRQwEgYDVQQLDAtBcGFjaGUgVGlrYTEU
+MBIGA1UEAwwLQXBhY2hlIFRpa2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AMeVjMm2uyhe7HkNFFBU6nnI9niJnn+hv+3TTDw23/GH2/d1T3JSpuSFstHvwS0t
+umrSb6Py7igD4fz3+aeZU1gDrby4f9KemnLBlAU63VuPyCDyWj2XqbsZDGdnbIy2
+FnBBy2LBn5p0gDwoDpnmhHPHIJZo9OMGH/5hWQUt6+rtAgMBAAGjUzBRMB0GA1Ud
+DgQWBBTM8K2WIAuPiv0VgrRoMn2fAGua1jAfBgNVHSMEGDAWgBTM8K2WIAuPiv0V
+grRoMn2fAGua1jAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4GBALqE
++ja5Hx78Dpym/HxP50TfadwmEes+JXYptykWnuOWgLlqLuGAqJctLOKoR73r7d9d
+zJBtdr3A5uTg9vWNMSA2lPdBr/NplNaI8bso+8dRWdkiMut+j7xqTFl8MVMriRSR
+a2cA9BsUlpHjJdVjcFweAtdlINZDACoZubCTM7ng
+-----END CERTIFICATE-----
diff --git a/tika-parsers/src/test/resources/test-documents/testRSAKEY.der b/tika-parsers/src/test/resources/test-documents/testRSAKEY.der
new file mode 100644
index 0000000..22c4f86
Binary files /dev/null and b/tika-parsers/src/test/resources/test-documents/testRSAKEY.der differ
diff --git a/tika-parsers/src/test/resources/test-documents/testRSAKEY.pem b/tika-parsers/src/test/resources/test-documents/testRSAKEY.pem
new file mode 100644
index 0000000..0971b76
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testRSAKEY.pem
@@ -0,0 +1,16 @@
+-----BEGIN PRIVATE KEY-----
+MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMeVjMm2uyhe7HkN
+FFBU6nnI9niJnn+hv+3TTDw23/GH2/d1T3JSpuSFstHvwS0tumrSb6Py7igD4fz3
++aeZU1gDrby4f9KemnLBlAU63VuPyCDyWj2XqbsZDGdnbIy2FnBBy2LBn5p0gDwo
+DpnmhHPHIJZo9OMGH/5hWQUt6+rtAgMBAAECgYBdb1TGxiYeQzoffZEJ/ob61qsU
+SRELnVS16RqigeobL8g5tBCqa6k4CKNrhvt/xA2mnrenID6AOzkb7ZdR8ATEtojF
+JjLZ8zmXACU3WetoRUvh2uxlFpxFeK0yQlaEWcvE4Z9MQe3V8pBvMQUNEZxN4bHT
+1eMla9O65TR49uxaPQJBAO/Spm9ln02CjnxCHiGmRQ77gUNz39AtrKRLQBv/uEB2
+fhHAvFoSPGXaIgd73GgZEnM/a+faLrMu9NvemMd5aYMCQQDVDAsjaa72+5ZS87zE
+xLDrFT1cKM8U1G0ikdGl6rejDnSoiwfZ8DXpSBOOiSkf/PX9zDXDPQl9nHLjmDn9
+wN7PAkEAxsPTF66lGoujZk8yQ/dXczR2DR7Dl/nTBZQsvUfzQNI0aKhSM2C72Dqz
+S3qX0Vs+VHBzEYVegTngzT4vZ9wz2wJBAMNXCZdsvUokIA7rALgCCJ1jmiE4Ibdd
+lrtNrEZO0hWlmX04DPjc8PF2bsgQJy73R61vYhQjkOIlYoof93wdLa0CQQDTLHSB
+8e8f81Jq+zbLReAQ6ch+fEulaMPlPY0OqgExBxdbwXnlPENw09+EiQkKSSo8qhY1
+guri/IWyq3LYm8nE
+-----END PRIVATE KEY-----
[tika] 03/05: Add some more DER magic for certificates,
and add tests TIKA-3205
Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
nick pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit e95287761da40c72f45390d1b892d8cdef33c216
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Sep 29 16:23:08 2020 +0100
Add some more DER magic for certificates, and add tests TIKA-3205
---
.../org/apache/tika/mime/tika-mimetypes.xml | 28 ++++++++++++++++++----
.../java/org/apache/tika/mime/TestMimeTypes.java | 11 +++++++++
2 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
index a0d172d..96301aa 100644
--- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
@@ -4546,10 +4546,16 @@
<match value="-----BEGIN CERTIFICATE-----" type="string" offset="0"/>
<!-- DER encoded -->
<match value="0x3080" type="string"
- mask="0xFFFC" offset="0">
- <!-- TODO other algs -->
- <match value="0x300d06092a864886f70d01010b0500"
- type="string" offset="10:50" />
+ mask="0xFFF8" offset="0">
+ <!-- SHA with RSA Encryption -->
+ <match value="0x300d06092a864886f70d01010b0500" type="string"
+ mask="0xFFFFFFFFFFFFFFFFFFFFFFFF00FFFF" offset="10:50" />
+ <!-- SHA with DSA Encryption -->
+ <match value="0x300b0609608648016503040301" type="string"
+ mask="0xFFFFFFFFFFFFFFFFFFFFFFFF00" offset="10:50" />
+ <!-- SHA with ECDSA Encryption -->
+ <match value="0x300a06082a8648ce3d040301" type="string"
+ mask="0xFFFFFFFFFFFFFFFFFFFFFF00" offset="10:50" />
</match>
</magic>
</mime-type>
@@ -4557,8 +4563,20 @@
<magic priority="50">
<!-- PEM encoded -->
<match value="-----BEGIN PRIVATE KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN PUBLIC KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN RSA KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN RSA PRIVATE KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN DSA KEY-----" type="string" offset="0"/>
+ <match value="-----BEGIN DSA PRIVATE KEY-----" type="string" offset="0"/>
<!-- DER encoded -->
- <!-- TODO -->
+ <match value="0x3082025e0201" type="string" offset="0"/>
+ </magic>
+ </mime-type>
+ <mime-type type="application/x-x509-dsa-parameters">
+ <magic priority="50">
+ <!-- PEM encoded -->
+ <match value="-----BEGIN DSA PARAMETERS-----" type="string" offset="0"/>
</magic>
</mime-type>
diff --git a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
index d05d080..80c60a2 100644
--- a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
+++ b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
@@ -1143,6 +1143,17 @@ public class TestMimeTypes {
}
@Test
+ public void testCertificatesKeys() throws Exception {
+ assertType("application/x-x509-cert", "testCERT.pem");
+ assertType("application/x-x509-cert", "testCERT.der");
+ assertTypeByData("application/x-x509-cert", "testCERT.pem");
+ assertTypeByData("application/x-x509-cert", "testCERT.der");
+ // Keys need the data to identify, name isn't enough
+ assertTypeByData("application/x-x509-key", "testRSAKEY.pem");
+ assertTypeByData("application/x-x509-key", "testRSAKEY.der");
+ }
+
+ @Test
public void testVandICalendars() throws Exception {
assertType("text/calendar", "testICalendar.ics");
assertType("text/x-vcalendar", "testVCalendar.vcs");
[tika] 04/05: Split the Certificate and Key mimetypes into DER and
PEM subtypes, add test EC files. TIKA-3205
Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
nick pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 51829d630360060d2fff84e8dc2b1346834ecfda
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Sep 29 16:48:40 2020 +0100
Split the Certificate and Key mimetypes into DER and PEM subtypes, add test EC files. TIKA-3205
---
.../org/apache/tika/mime/tika-mimetypes.xml | 41 +++++++++++++++++----
.../java/org/apache/tika/mime/TestMimeTypes.java | 19 +++++++---
.../test/resources/test-documents/testDSAKEY.der | Bin 0 -> 834 bytes
.../test/resources/test-documents/testDSAKEY.pem | 15 ++++++++
.../resources/test-documents/testDSAPARAMS.pem | 14 +++++++
.../test/resources/test-documents/testECKEY.der | Bin 0 -> 167 bytes
.../test/resources/test-documents/testECKEY.pem | 6 +++
.../test/resources/test-documents/testECPARAMS.pem | 3 ++
8 files changed, 84 insertions(+), 14 deletions(-)
diff --git a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
index 96301aa..792448b 100644
--- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
@@ -4538,13 +4538,19 @@
<mime-type type="application/x-x509-cert">
<alias type="application/x-x509-ca-cert"/>
<alias type="application/x-x509-user-cert"/>
- <glob pattern="*.der"/>
- <glob pattern="*.pem"/>
<glob pattern="*.crt"/>
+ </mime-type>
+ <mime-type type="application/x-x509-cert;format=pem">
+ <sub-class-of type="application/x-x509-cert"/>
+ <glob pattern="*.pem"/>
<magic priority="50">
- <!-- PEM encoded -->
<match value="-----BEGIN CERTIFICATE-----" type="string" offset="0"/>
- <!-- DER encoded -->
+ </magic>
+ </mime-type>
+ <mime-type type="application/x-x509-cert;format=der">
+ <sub-class-of type="application/x-x509-cert"/>
+ <glob pattern="*.der"/>
+ <magic priority="50">
<match value="0x3080" type="string"
mask="0xFFF8" offset="0">
<!-- SHA with RSA Encryption -->
@@ -4559,9 +4565,12 @@
</match>
</magic>
</mime-type>
+
<mime-type type="application/x-x509-key">
+ </mime-type>
+ <mime-type type="application/x-x509-key;format=pem">
+ <sub-class-of type="application/x-x509-key"/>
<magic priority="50">
- <!-- PEM encoded -->
<match value="-----BEGIN PRIVATE KEY-----" type="string" offset="0"/>
<match value="-----BEGIN PUBLIC KEY-----" type="string" offset="0"/>
<match value="-----BEGIN KEY-----" type="string" offset="0"/>
@@ -4569,16 +4578,32 @@
<match value="-----BEGIN RSA PRIVATE KEY-----" type="string" offset="0"/>
<match value="-----BEGIN DSA KEY-----" type="string" offset="0"/>
<match value="-----BEGIN DSA PRIVATE KEY-----" type="string" offset="0"/>
- <!-- DER encoded -->
- <match value="0x3082025e0201" type="string" offset="0"/>
</magic>
</mime-type>
+ <mime-type type="application/x-x509-key;format=der">
+ <sub-class-of type="application/x-x509-key"/>
+ <!-- These are just a bunch of magic integers as defined by the key format... -->
+ <!-- Always seem to have an integer=01 as their first entry, check for that -->
+ <magic priority="40">
+ <match value="0x3081FF0201" type="string"
+ mask="0xFFFF00FFFF" offset="0"/>
+ <match value="0x3082FFFF0201" type="string"
+ mask="0xFFFF0000FFFF" offset="0"/>
+ </magic>
+ </mime-type>
+
<mime-type type="application/x-x509-dsa-parameters">
<magic priority="50">
- <!-- PEM encoded -->
+ <!-- PEM encoded only -->
<match value="-----BEGIN DSA PARAMETERS-----" type="string" offset="0"/>
</magic>
</mime-type>
+ <mime-type type="application/x-x509-ec-parameters">
+ <magic priority="50">
+ <!-- PEM encoded only -->
+ <match value="-----BEGIN EC PARAMETERS-----" type="string" offset="0"/>
+ </magic>
+ </mime-type>
<mime-type type="application/x-xfig">
<glob pattern="*.fig"/>
diff --git a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
index 80c60a2..c765dae 100644
--- a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
+++ b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
@@ -1144,13 +1144,20 @@ public class TestMimeTypes {
@Test
public void testCertificatesKeys() throws Exception {
- assertType("application/x-x509-cert", "testCERT.pem");
- assertType("application/x-x509-cert", "testCERT.der");
- assertTypeByData("application/x-x509-cert", "testCERT.pem");
- assertTypeByData("application/x-x509-cert", "testCERT.der");
+ assertType("application/x-x509-cert; format=pem", "testCERT.pem");
+ assertType("application/x-x509-cert; format=der", "testCERT.der");
+ assertTypeByData("application/x-x509-cert; format=pem", "testCERT.pem");
+ assertTypeByData("application/x-x509-cert; format=der", "testCERT.der");
// Keys need the data to identify, name isn't enough
- assertTypeByData("application/x-x509-key", "testRSAKEY.pem");
- assertTypeByData("application/x-x509-key", "testRSAKEY.der");
+ assertTypeByData("application/x-x509-key; format=pem", "testECKEY.pem");
+ assertTypeByData("application/x-x509-key; format=der", "testECKEY.der");
+ assertTypeByData("application/x-x509-key; format=pem", "testRSAKEY.pem");
+ assertTypeByData("application/x-x509-key; format=der", "testRSAKEY.der");
+ assertTypeByData("application/x-x509-key; format=pem", "testDSAKEY.pem");
+ assertTypeByData("application/x-x509-key; format=der", "testDSAKEY.der");
+ // Parameters only have PEM form, always need data
+ assertTypeByData("application/x-x509-dsa-parameters", "testDSAPARAMS.pem");
+ assertTypeByData("application/x-x509-ec-parameters", "testECPARAMS.pem");
}
@Test
diff --git a/tika-parsers/src/test/resources/test-documents/testDSAKEY.der b/tika-parsers/src/test/resources/test-documents/testDSAKEY.der
new file mode 100644
index 0000000..9ed2eb9
Binary files /dev/null and b/tika-parsers/src/test/resources/test-documents/testDSAKEY.der differ
diff --git a/tika-parsers/src/test/resources/test-documents/testDSAKEY.pem b/tika-parsers/src/test/resources/test-documents/testDSAKEY.pem
new file mode 100644
index 0000000..2b8781a
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testDSAKEY.pem
@@ -0,0 +1,15 @@
+-----BEGIN PRIVATE KEY-----
+MIICTQIBADCCAi0GByqGSM44BAEwggIgAoIBAQDRXU0Be5k0MI3skB6K0PhyptBh
+WSJ1l+NVSOX7wpXC37upcH7a0ZCfU9RyWqcX9dQFw+TWjlH2ANll/FO4osXkkJVY
+oylJ+p0599v6WRPBS/yQpKuvfqEm5HA78J8ILhnyCCw8hqdlrADBOMGf7tGF5Agw
+hEZJdtHjYRzPWzY0eogptg3wQPd/wO6ZztdW/T9wPK1RDTEhraQwuJTp1tldWjkm
+KutogVR327yAImJ7jhevM6ayCQFybT+mI3h48ixgkewPydU7hUIpEWtXjnwxLecu
+P6hsggyuykxtPFlcK4xb/XKjN4AVEfFA6CJUrkk+FSi+RQfupCraeUXSCS3DAhUA
+xkpKBq0v1k5JA/XlzNFVYgPqah8CggEAWhpzc9y5nYRz/uADJ2DBsk9ho3MovK9i
+FGZyxwD6L66Gf+KqPglRABKa2vfkAVIhzysyaMB7sN0WhGFf9SX2gGnH48YoJHtD
+eNNe8Izd1blIcg71lyT4HLCJDmURTVVQIxzzm97BpW5cYjEAFJAWXQ4lqqJzqnpv
+HrXs4ljAq12tbaGIwBgY5G2f+R2NhKpbdDut423M3CCfM8XnxXlZiHV5x9BvjOWm
+uw2mrsmZI1k2blr+lezA4m6fr9t4iwtDC+0cIpfuAC3/7FSaTcKC7ubMh1cyv/kV
+6AoWtBXCCkctGNsQIJ0GibPKJZ7E9JoOPBwB16fOTknbXtxBF8klsQQXAhUAwFDM
+4JZXXO/04oTAZw7IMqVCOLE=
+-----END PRIVATE KEY-----
diff --git a/tika-parsers/src/test/resources/test-documents/testDSAPARAMS.pem b/tika-parsers/src/test/resources/test-documents/testDSAPARAMS.pem
new file mode 100644
index 0000000..3cbef08
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testDSAPARAMS.pem
@@ -0,0 +1,14 @@
+-----BEGIN DSA PARAMETERS-----
+MIICIAKCAQEA0V1NAXuZNDCN7JAeitD4cqbQYVkidZfjVUjl+8KVwt+7qXB+2tGQ
+n1PUclqnF/XUBcPk1o5R9gDZZfxTuKLF5JCVWKMpSfqdOffb+lkTwUv8kKSrr36h
+JuRwO/CfCC4Z8ggsPIanZawAwTjBn+7RheQIMIRGSXbR42Ecz1s2NHqIKbYN8ED3
+f8Dumc7XVv0/cDytUQ0xIa2kMLiU6dbZXVo5JirraIFUd9u8gCJie44XrzOmsgkB
+cm0/piN4ePIsYJHsD8nVO4VCKRFrV458MS3nLj+obIIMrspMbTxZXCuMW/1yozeA
+FRHxQOgiVK5JPhUovkUH7qQq2nlF0gktwwIVAMZKSgatL9ZOSQP15czRVWID6mof
+AoIBAFoac3PcuZ2Ec/7gAydgwbJPYaNzKLyvYhRmcscA+i+uhn/iqj4JUQASmtr3
+5AFSIc8rMmjAe7DdFoRhX/Ul9oBpx+PGKCR7Q3jTXvCM3dW5SHIO9Zck+BywiQ5l
+EU1VUCMc85vewaVuXGIxABSQFl0OJaqic6p6bx617OJYwKtdrW2hiMAYGORtn/kd
+jYSqW3Q7reNtzNwgnzPF58V5WYh1ecfQb4zlprsNpq7JmSNZNm5a/pXswOJun6/b
+eIsLQwvtHCKX7gAt/+xUmk3Cgu7mzIdXMr/5FegKFrQVwgpHLRjbECCdBomzyiWe
+xPSaDjwcAdenzk5J217cQRfJJbE=
+-----END DSA PARAMETERS-----
diff --git a/tika-parsers/src/test/resources/test-documents/testECKEY.der b/tika-parsers/src/test/resources/test-documents/testECKEY.der
new file mode 100644
index 0000000..24cbe9a
Binary files /dev/null and b/tika-parsers/src/test/resources/test-documents/testECKEY.der differ
diff --git a/tika-parsers/src/test/resources/test-documents/testECKEY.pem b/tika-parsers/src/test/resources/test-documents/testECKEY.pem
new file mode 100644
index 0000000..f8a7f8e
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testECKEY.pem
@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDC/CFlieW48GC1RB2Nh
+19wlRZO4QNAVsmttUmwXh46i9dWSs1hnaENPcn9b0kPtFQShZANiAATd5hKUV7K/
+sTuBHS1FDOVqXrKOBp7t+tRZTaOV3/gkKyXSfzDRGxVIJR/hL0c5f7A7PzC994yV
+JvHbi1XtfeaSWZojKI/4Dxvcy8vpL2Cwf4+jpWLDpF3zAP7W9CwMAjE=
+-----END PRIVATE KEY-----
diff --git a/tika-parsers/src/test/resources/test-documents/testECPARAMS.pem b/tika-parsers/src/test/resources/test-documents/testECPARAMS.pem
new file mode 100644
index 0000000..ceed209
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testECPARAMS.pem
@@ -0,0 +1,3 @@
+-----BEGIN EC PARAMETERS-----
+BgUrgQQAIg==
+-----END EC PARAMETERS-----
[tika] 02/05: TIKA-3205 Add magic for X509 PEM certificate,
and tweak default type
Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
nick pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 28ec71d2d3afa52e84fa16ee5df289dd696980ed
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Sep 29 15:49:14 2020 +0100
TIKA-3205 Add magic for X509 PEM certificate, and tweak default type
---
.../org/apache/tika/mime/tika-mimetypes.xml | 26 +++++++++++++++++++++-
.../java/org/apache/tika/TikaDetectionTest.java | 5 +++--
2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
index b4981a5..a0d172d 100644
--- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
@@ -4534,10 +4534,34 @@
<sub-class-of type="application/x-bplist"/>
<glob pattern="*.webarchive"/>
</mime-type>
- <mime-type type="application/x-x509-ca-cert">
+
+ <mime-type type="application/x-x509-cert">
+ <alias type="application/x-x509-ca-cert"/>
+ <alias type="application/x-x509-user-cert"/>
<glob pattern="*.der"/>
+ <glob pattern="*.pem"/>
<glob pattern="*.crt"/>
+ <magic priority="50">
+ <!-- PEM encoded -->
+ <match value="-----BEGIN CERTIFICATE-----" type="string" offset="0"/>
+ <!-- DER encoded -->
+ <match value="0x3080" type="string"
+ mask="0xFFFC" offset="0">
+ <!-- TODO other algs -->
+ <match value="0x300d06092a864886f70d01010b0500"
+ type="string" offset="10:50" />
+ </match>
+ </magic>
</mime-type>
+ <mime-type type="application/x-x509-key">
+ <magic priority="50">
+ <!-- PEM encoded -->
+ <match value="-----BEGIN PRIVATE KEY-----" type="string" offset="0"/>
+ <!-- DER encoded -->
+ <!-- TODO -->
+ </magic>
+ </mime-type>
+
<mime-type type="application/x-xfig">
<glob pattern="*.fig"/>
</mime-type>
diff --git a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
index 8f14a2b..1908489 100644
--- a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
+++ b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
@@ -624,8 +624,9 @@ public class TikaDetectionTest {
assertEquals("application/x-texinfo", tika.detect("x.texi"));
assertEquals("application/x-ustar", tika.detect("x.ustar"));
assertEquals("application/x-wais-source", tika.detect("x.src"));
- assertEquals("application/x-x509-ca-cert", tika.detect("x.der"));
- assertEquals("application/x-x509-ca-cert", tika.detect("x.crt"));
+ // Differ from httpd - use a common parent for CA and User certs
+ //assertEquals("application/x-x509-ca-cert", tika.detect("x.der"));
+ //assertEquals("application/x-x509-ca-cert", tika.detect("x.crt"));
assertEquals("application/x-xfig", tika.detect("x.fig"));
assertEquals("application/x-xpinstall", tika.detect("x.xpi"));
assertEquals("application/xenc+xml", tika.detect("x.xenc"));
[tika] 05/05: Make the DER private key mostly-match a bit more
specific
Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
nick pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 1fce08921cea11bc79c708d4f72b9e4bf70b8c2c
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Sep 29 16:51:19 2020 +0100
Make the DER private key mostly-match a bit more specific
---
.../main/resources/org/apache/tika/mime/tika-mimetypes.xml | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
index 792448b..d281751 100644
--- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
@@ -4583,12 +4583,13 @@
<mime-type type="application/x-x509-key;format=der">
<sub-class-of type="application/x-x509-key"/>
<!-- These are just a bunch of magic integers as defined by the key format... -->
- <!-- Always seem to have an integer=01 as their first entry, check for that -->
+ <!-- Always seem to have a version integer as their first entry, -->
+ <!-- normally 00, 01 or 02, check for that -->
<magic priority="40">
- <match value="0x3081FF0201" type="string"
- mask="0xFFFF00FFFF" offset="0"/>
- <match value="0x3082FFFF0201" type="string"
- mask="0xFFFF0000FFFF" offset="0"/>
+ <match value="0x3081FF020100" type="string"
+ mask="0xFFFF00FFFFFC" offset="0"/>
+ <match value="0x3082FFFF020100" type="string"
+ mask="0xFFFF0000FFFFFC" offset="0"/>
</magic>
</mime-type>