ithinkdiff.net
Issued by Let's Encrypt Authority X3
About this certificate
This digital certificate with serial number 04:44:0c:ed:9c:71:c4:da:48:4d:ce:92:ec:21:21:dd:56:d6 was issued on by Let's Encrypt.
With 7 subject alternative names this certificate can be used to secure multiple fqdn's. This certificate has already expired and will cause a warning or error message in the browser it's still listed on this site to allow you to look back on previously issued certificates. If we have found any compliance issues with this certificate they will be shown below. I hope this certificate review is providing you the detailed information in a simple form you where looking for.
We have idenified some issues with this certificate:
- Subscriber Certificate: commonName is deprecated. (BRs: 7.1.4.2.2)
Certificate Subject
CN=ithinkdiff.net
Let's Encrypt
Organization:
Let's Encrypt
Country:
US
This certificate has expire since
Certificate Details
Serial Number (hex): 04:44:0c:ed:9c:71:c4:da:48:4d:ce:92:ec:21:21:dd:56:d6Serial Number (int): 371605529161039297329599665913951636248278
Serial Number lenght: 139 bits, 18 octets
SubjectKeyId: ac:de:96:a9:08:5a:76:47:cc:06:19:85:2e:cf:c4:c0:6a:49:8a:e3
AuthorityKeyId: a8:4a:6a:63:04:7d:dd:ba:e6:d1:39:b7:a6:45:65:ef:f3:a8:ec:a1
Fingerprint (sha1): 2c:06:26:b8:a6:98:e1:8c:d7:35:c7:ac:ba:af:26:aa:ba:db:04:a9
Fingerprint (sha256): 65:45:2b:29:08:ff:b7:10:83:35:a2:da:44:ea:95:85:87:c2:96:86:e5:43:3c:e7:2a:27:23:fd:8d:d0:57:20
Issuing Certificate URL: http://cert.int-x3.letsencrypt.org/
Revocation information
OCSP Server: http://ocsp.int-x3.letsencrypt.orgCheck the revocation status for certificate ithinkdiff.net
7
DNS Names
0
Email Addresses
0
IP Addresses
Advanced Certificate Properties
Tehnical certificate details for ithinkdiff.net
Public Key Algorithm
RSA
Key Size
2048
Signature Algorithm
SHA256 with RSA
Key Usage
Digital Signature
Key Encipherment
Extended Key Usages
Server Authentication
Client Authentication
Extensions
9 extensions
No
unhandled critical extensions
CA Certificate
This is not a CA certificate
Subject Alternative Names
autodiscover.ithinkdiff.net
cpanel.ithinkdiff.net
ithinkdiff.net
ithinkdiff.thinkdiff.net
webdisk.ithinkdiff.net
webmail.ithinkdiff.net
www.ithinkdiff.thinkdiff.net
cpanel.ithinkdiff.net
ithinkdiff.net
ithinkdiff.thinkdiff.net
webdisk.ithinkdiff.net
webmail.ithinkdiff.net
www.ithinkdiff.thinkdiff.net
Other certificates including the domain name ithinkdiff.net
(limited to 100 certificates)
ithinkdiff.net
womoyde.charles-extra.com
get-uniq.com
www.ericastor.info
ithinkdiff.net
ithinkdiff.net
www.arthurnyanisobutler.site
ithinkdiff.net
livingstrong.in
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ankitkumarmaurya.com
partner.fooding.io
ithinkdiff.net
www.cloud7holidays.com
leeminhyuk.re2fe.com
womoyde.charles-extra.com
get-uniq.com
www.ericastor.info
ithinkdiff.net
ithinkdiff.net
www.arthurnyanisobutler.site
ithinkdiff.net
livingstrong.in
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ithinkdiff.net
ankitkumarmaurya.com
partner.fooding.io
ithinkdiff.net
www.cloud7holidays.com
leeminhyuk.re2fe.com
Certificate
The complete raw certificate details for ithinkdiff.net in PEM and ASN.1 format.
Certificate (PEM)
-----BEGIN CERTIFICATE----- MIIF8jCCBNqgAwIBAgISBEQM7ZxxxNpITc6S7CEh3VbWMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA0MTExNDU4NDFaFw0y MDA3MTAxNDU4NDFaMBkxFzAVBgNVBAMTDml0aGlua2RpZmYubmV0MIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtLIKGo9kzjxiMa4w/bz8gMwYzWOCoVTG s7lv6DV/POLZ/+YnsvEEArCrwzq/Ckkml+xqDwnFCOg9Z8J4u0Svwhh/kDUKgKhq ysHRCESC6gWJ4vf4TG0Wv+MrTRKfWxEYyHpX1m/Fy5sVhPtQZcounn+X94OwxI2O 5rbECD0oM1dOMWsOZrQvOxTY/pr4iT29EOkyjDDKAks/FmjEMNXpkhm/u8V2G7vm Nju+oujo2lkAmAnnPpJl3p/m6TRNaOmcZZXuvDvnfB7Un3lqw6fLeSPq74pgIB9c QtGY1yPMxZZ3KF5VvaIXnevEqtukgd/3mx+EQ8y9Oiv7zYkYR3165QIDAQABo4ID ATCCAv0wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF BQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSs3papCFp2R8wGGYUuz8TAakmK 4zAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRj MGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5v cmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5v cmcvMIG3BgNVHREEga8wgayCG2F1dG9kaXNjb3Zlci5pdGhpbmtkaWZmLm5ldIIV Y3BhbmVsLml0aGlua2RpZmYubmV0gg5pdGhpbmtkaWZmLm5ldIIYaXRoaW5rZGlm Zi50aGlua2RpZmYubmV0ghZ3ZWJkaXNrLml0aGlua2RpZmYubmV0ghZ3ZWJtYWls Lml0aGlua2RpZmYubmV0ghx3d3cuaXRoaW5rZGlmZi50aGlua2RpZmYubmV0MEwG A1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEW Gmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB9ASB 8QDvAHYA5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4AAAFxafbqHgAA BAMARzBFAiEAtgbtiL12ZRqBxo/HL2sALE0SSQKA44yYnBeYiFxl+XACIHGmxfsL JhEJuzH7eBwyJFJl7Vdvt/wt0ImXVuqlVeK+AHUAB7dcG+V9aP/xsMYdIxXHuuZX fFeUt2ruvGE6GmnTohwAAAFxafbqTAAABAMARjBEAiBDDTAkgIayM6KLv0M6YaBX 3753eIMn/VdH/D1323YsWAIgNMNpK+z2jTJT6L8H9jiQZtA1oNry0Mf7W2yvLXil /lAwDQYJKoZIhvcNAQELBQADggEBACQeuCWwQyFyWG484mE82j4CzG7D57ux4FjP tX/Tc0KBU4Vuud/rj2EHQQv1gvlWwwAdm3yxIUYIkfx3bErs1jIRmgcd75jWLPRu a69qFxagK+iZP/LNSMiN35OpG1E3S2A23hmFazDM5/pa/BjblmemkmMU3kQPStig 63ffINGTnno+8Q3T9rnumr/ePQ+2WhGClJOftq3Rg7ByBzs8otBzFL2EbODFTlr1 nsSy53XeNawnnEFs1abBP7Iy7Q42Lv2wcRoxsQyI/rCCdl8DRNHsYY4rg7/l58gM EJogMvOVTXIvuXF5PnXsr6W9eacl2KXwpreIvUqQ4INxEF2BbzE= -----END CERTIFICATE-----
Public Key (PEM)
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtLIKGo9kzjxiMa4w/bz8 gMwYzWOCoVTGs7lv6DV/POLZ/+YnsvEEArCrwzq/Ckkml+xqDwnFCOg9Z8J4u0Sv whh/kDUKgKhqysHRCESC6gWJ4vf4TG0Wv+MrTRKfWxEYyHpX1m/Fy5sVhPtQZcou nn+X94OwxI2O5rbECD0oM1dOMWsOZrQvOxTY/pr4iT29EOkyjDDKAks/FmjEMNXp khm/u8V2G7vmNju+oujo2lkAmAnnPpJl3p/m6TRNaOmcZZXuvDvnfB7Un3lqw6fL eSPq74pgIB9cQtGY1yPMxZZ3KF5VvaIXnevEqtukgd/3mx+EQ8y9Oiv7zYkYR316 5QIDAQAB -----END PUBLIC KEY-----
ASN.1 decoded
[c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . [c:2|t:0|true] OtherName . . . . . . . . . . . . [c:0|t:2|false] INTEGER 2 . . . . . . . . [c:0|t:2|false] INTEGER 371605529161039297329599665913951636248278 . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.11 (sha256WithRSAEncryption) . . . . . . . . . . . . [c:0|t:5|false] NULL . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.6 (countryName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'US' . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.10 (organizationName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'Let's Encrypt' . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.3 (commonName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'Let's Encrypt Authority X3' . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2020-04-11 14:58:41 +0000 UTC . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2020-07-10 14:58:41 +0000 UTC . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.3 (commonName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'ithinkdiff.net' . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.1 (rsaEncryption) . . . . . . . . . . . . . . . . [c:0|t:5|false] NULL . . . . . . . . . . . . [c:0|t:3|false] BIT STRING (2160 bits) . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:2|false] INTEGER 22810689427597708579382868362902338489895522163844969032911346451047754141756576544282937656849872462174376375026623508047078882328535530065894147369333829714538670431032109901173115444162204939537860549162590426060028401607877269989164802891016302555116903446755544987846183204395800878296983873090016691023087393659051122428501736537164754712460700647968896858885730731103549900857948403956573845892572121576086513994451433480681736834468247041239615988103960473327058145660374944402888310210371298929200873294709677941121520784773616719766322787856023445946730145849586903182834637295315682641710974779118011120357 . . . . . . . . . . . . . . . . . . . . [c:0|t:2|false] INTEGER 65537 . . . . . . . . [c:2|t:3|true] ORAddress . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.15 (keyUsage) . . . . . . . . . . . . . . . . . . . . [c:0|t:1|false] BOOLEAN true . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (4 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:3|false] BIT STRING (3 bits) 05a0 . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.37 (extKeyUsage) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (22 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.3.1 (serverAuth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.3.2 (clientAuth) . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.19 (basicConstraints) . . . . . . . . . . . . . . . . . . . . [c:0|t:1|false] BOOLEAN true . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (2 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.14 (subjectKeyIdentifier) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (22 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (20 bytes) acde96a9085a7647cc0619852ecfc4c06a498ae3 . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.35 (authorityKeyIdentifier) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (24 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:0|false] OtherName a84a6a63047dddbae6d139b7a64565eff3a8eca1 . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.1.1 (authorityInfoAccess) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (99 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.1 (ocsp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:6|false] IA5String 'http://ocsp.int-x3.letsencrypt.org' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.2 (caIssuers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:6|false] IA5String 'http://cert.int-x3.letsencrypt.org/' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.17 (subjectAltName) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (175 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'autodiscover.ithinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'cpanel.ithinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'ithinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'ithinkdiff.thinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'webdisk.ithinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'webmail.ithinkdiff.net' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'www.ithinkdiff.thinkdiff.net' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.32 (certificatePolicies) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (69 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.23.140.1.2.1 (Domain Validation Certificates Policy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.4.1.44947.1.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.2.1 (cps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:22|false] IA5String 'http://cps.letsencrypt.org' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.4.1.11129.2.4.2 . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (244 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (241 bytes) 00ef007600e712f2b0377e1a62fb8ec90c6184f1ea7b37cb561d11265bf3e0f34bf241546e0000017169f6ea1e0000040300473045022100b606ed88bd76651a81c68fc72f6b002c4d12490280e38c989c1798885c65f970022071a6c5fb0b261109bb31fb781c32245265ed576fb7fc2dd0899756eaa555e2be00750007b75c1be57d68fff1b0c61d2315c7bae6577c5794b76aeebc613a1a69d3a21c0000017169f6ea4c00000403004630440220430d30248086b233a28bbf433a61a057dfbe77788327fd5747fc3d77db762c58022034c3692becf68d3253e8bf07f6389066d035a0daf2d0c7fb5b6caf2d78a5fe50 . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.11 (sha256WithRSAEncryption) . . . . . . . . [c:0|t:5|false] NULL . . . . [c:0|t:3|false] BIT STRING (2048 bits) 00241eb825b0432172586e3ce2613cda3e02cc6ec3e7bbb1e058cfb57fd373428153856eb9dfeb8f6107410bf582f956c3001d9b7cb121460891fc776c4aecd632119a071def98d62cf46e6baf6a1716a02be8993ff2cd48c88ddf93a91b51374b6036de19856b30cce7fa5afc18db9667a6926314de440f4ad8a0eb77df20d1939e7a3ef10dd3f6b9ee9abfde3d0fb65a118294939fb6add183b072073b3ca2d07314bd846ce0c54e5af59ec4b2e775de35ac279c416cd5a6c13fb232ed0e362efdb0711a31b10c88feb082765f0344d1ec618e2b83bfe5e7c80c109a2032f3954d722fb971793e75ecafa5bd79a725d8a5f0a6b788bd4a90e08371105d816f31