ltol.com
Issued by Let's Encrypt Authority X3
About this certificate
This digital certificate with serial number 03:a1:77:10:27:9f:d6:dc:f3:31:1f:63:30:99:5f:ab:f9:3e was issued on by Let's Encrypt.
With 2 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=ltol.com
Let's Encrypt
Organization:
Let's Encrypt
Country:
US
This certificate has expire since
Certificate Details
Serial Number (hex): 03:a1:77:10:27:9f:d6:dc:f3:31:1f:63:30:99:5f:ab:f9:3eSerial Number (int): 316280580881477723389999086608477842045246
Serial Number lenght: 138 bits, 18 octets
SubjectKeyId: 8e:c4:5f:56:15:b1:e3:af:1d:4e:49:3f:44:ea:03:5d:bc:cf:41:48
AuthorityKeyId: a8:4a:6a:63:04:7d:dd:ba:e6:d1:39:b7:a6:45:65:ef:f3:a8:ec:a1
Fingerprint (sha1): 03:9b:23:93:3e:ae:f4:82:c4:71:5b:c4:59:33:92:eb:ea:44:78:e4
Fingerprint (sha256): e4:47:7b:da:64:39:f7:a5:f2:60:bb:c4:df:76:50:2e:fc:dc:9d:9a:1b:47:42:f2:7d:bc:01:a8:6c:71:f7:fd
Issuing Certificate URL: http://cert.int-x3.letsencrypt.org/
Revocation information
OCSP Server: http://ocsp.int-x3.letsencrypt.orgCheck the revocation status for certificate ltol.com
2
DNS Names
0
Email Addresses
0
IP Addresses
Advanced Certificate Properties
Tehnical certificate details for ltol.com
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
ltol.com
www.ltol.com
www.ltol.com
Other certificates including the domain name ltol.com
(limited to 100 certificates)
mail.ltol.com
www.ltol.com
mysqladmin.ltol.com
www.ltol.com
www.ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
invoice.ltol.com
ltol.com
ltol.com
invoice.neelkantham.com
invoice.neelkantham.com
ltol.com
ltol.com
mail.ltol.com
invoice.neelkantham.com
domains.ltol.com
ltol.com
mail.ltol.com
invoice.goodpriceshandyman.com
invoice.scope-medical.com.au
ltol.com
ltol.com
invoice.sviproperties.com
mail.ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
www.ltol.com
mysqladmin.ltol.com
www.ltol.com
www.ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
invoice.ltol.com
ltol.com
ltol.com
invoice.neelkantham.com
invoice.neelkantham.com
ltol.com
ltol.com
mail.ltol.com
invoice.neelkantham.com
domains.ltol.com
ltol.com
mail.ltol.com
invoice.goodpriceshandyman.com
invoice.scope-medical.com.au
ltol.com
ltol.com
invoice.sviproperties.com
mail.ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
ltol.com
Certificate
The complete raw certificate details for ltol.com in PEM and ASN.1 format.
Certificate (PEM)
-----BEGIN CERTIFICATE----- MIIGCDCCBPCgAwIBAgISA6F3ECef1tzzMR9jMJlfq/k+MA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODA4MzAxOTMzNTNaFw0x ODExMjgxOTMzNTNaMBMxETAPBgNVBAMTCGx0b2wuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAzqeihmZVyUcZv4khZp1aZB0txFhwiBkTifNLKWmE g6T2h0b8R1XdecJBcy3VFLR9xXXCo4ipFllb+hZf0e05Ov6HCVx6Zlrkm+hNAs32 GB7vzEYL+9VI/fiFCdD1fMn5QFWZoswk+oqzx9E1hYXDOUVZZ9jaljg4BdUKaNzw nXuKMak3yADZW/Vx8zx7efMb74wmF5C9L/LRqSBaXvhoLfYXzvbYcRtUKjAORTvG xscfLVvGKmSjplE1R5qg0A3ffG4JZhiM/S3i+Oo1jzTJOz7GQnItSo1/7RtNrxzJ CqfT64xqzBQSkjYmZ6f6RauM+L9Gbx276RUXZPN3SSvs8QIDAQABo4IDHTCCAxkw DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSOxF9WFbHjrx1OST9E6gNdvM9BSDAfBgNV HSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRjMGEwLgYI KwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5vcmcwLwYI KwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5vcmcvMCEG A1UdEQQaMBiCCGx0b2wuY29tggx3d3cubHRvbC5jb20wgf4GA1UdIASB9jCB8zAI BgZngQwBAgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIBFhpodHRwOi8v Y3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtUaGlzIENlcnRp ZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlpbmcgUGFydGll cyBhbmQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRpZmljYXRlIFBv bGljeSBmb3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9yZXBvc2l0b3J5 LzCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1AMEWSuCnctLUOS3ICsEHcNTwxJve mRpIQMH6B1Fk9jNgAAABZYyK1MwAAAQDAEYwRAIgSGAvL6YjLGqXNCHwsAmy642G F6bk7lI9jFpHRbjyyZ0CIHnSIzNDiI/XRJGDlKyXvXYrNSnC0lmtX7ohzmsNbkFA AHYAKTxRllTIOWW6qlD8WAfUt2+/WHopctykwwz05UVH9HgAAAFljIrW1gAABAMA RzBFAiAiAo+4C7EMpyZrMATQMD4fKogL9Ic7G6d3BNjnKQnqWwIhAL7jZ3I8025z krqU6ialoZjnwe/m3Q3sDyWLVGR3u+EnMA0GCSqGSIb3DQEBCwUAA4IBAQCBsA4P RgQV8zuWBefoe/tDvvtO+7Pb7oDoxUGFdr/rOXloH0azaQN/qw+8PniPRN9bUZPf id4UVhj5xJkiAKpcr7vlAZCYXgt0XZvO9v8z7KdmdWsrEfq++PVFSNgFomiVe+32 vMwp4c7ycMcvnxL7kNh2cmDGe4FDFntcdlWy/e7JT99EXZ0sIA42AKq3NY97zRWc EdTti7oNPaFi53LEiznX7fiDYEXbAGUQ63a2AtYSR2tBK0TPjJoSHOt9u5iR4z/p bl1ABZH9ESmrMhmzZpg7Gy/tQ8LPyXPKL8g2ZWmwA1Ggmat6VYaRCpdNkQI0rsKP C6WYIsrHDOXpzg0P -----END CERTIFICATE-----
Public Key (PEM)
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzqeihmZVyUcZv4khZp1a ZB0txFhwiBkTifNLKWmEg6T2h0b8R1XdecJBcy3VFLR9xXXCo4ipFllb+hZf0e05 Ov6HCVx6Zlrkm+hNAs32GB7vzEYL+9VI/fiFCdD1fMn5QFWZoswk+oqzx9E1hYXD OUVZZ9jaljg4BdUKaNzwnXuKMak3yADZW/Vx8zx7efMb74wmF5C9L/LRqSBaXvho LfYXzvbYcRtUKjAORTvGxscfLVvGKmSjplE1R5qg0A3ffG4JZhiM/S3i+Oo1jzTJ Oz7GQnItSo1/7RtNrxzJCqfT64xqzBQSkjYmZ6f6RauM+L9Gbx276RUXZPN3SSvs 8QIDAQAB -----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 316280580881477723389999086608477842045246 . . . . . . . . [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 2018-08-30 19:33:53 +0000 UTC . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2018-11-28 19:33:53 +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 'ltol.com' . . . . . . . . [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 26087754655013363945276450251182766680497687282667552334989619248767507648141978483693419481098052358628462310879632087261722027807634931020809938814157026987765299625289902368299575895104263721259005995276386732954073292828545004000223145753498292582688202828248397992756231701902896253957973978512972833963851855803418420588417262169076848127974077825219451979354347342612107871017048347884125006448335331033311477695821230608341596809499472534798992204480481061519942562650595730232790810514536585195868313816666371580279934685533762000914030420103287549008697427216893927983720521816498279788171262711164085988593 . . . . . . . . . . . . . . . . . . . . [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) 8ec45f5615b1e3af1d4e493f44ea035dbccf4148 . . . . . . . . . . . . . . . . [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 (26 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'ltol.com' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'www.ltol.com' . . . . . . . . . . . . . . . . [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 (246 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.5.5.7.2.2 (unotice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:12|false] UTF8String 'This Certificate may only be relied upon by Relying Parties and only in accordance with the Certificate Policy found at https://letsencrypt.org/repository/' . . . . . . . . . . . . . . . . [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) 00ef007500c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360000001658c8ad4cc0000040300463044022048602f2fa6232c6a973421f0b009b2eb8d8617a6e4ee523d8c5a4745b8f2c99d022079d2233343888fd744918394ac97bd762b3529c2d259ad5fba21ce6b0d6e4140007600293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478000001658c8ad6d60000040300473045022022028fb80bb10ca7266b3004d0303e1f2a880bf4873b1ba77704d8e72909ea5b022100bee367723cd36e7392ba94ea26a5a198e7c1efe6dd0dec0f258b546477bbe127 . . . . [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) 0081b00e0f460415f33b9605e7e87bfb43befb4efbb3dbee80e8c5418576bfeb3979681f46b369037fab0fbc3e788f44df5b5193df89de145618f9c4992200aa5cafbbe50190985e0b745d9bcef6ff33eca766756b2b11fabef8f54548d805a268957bedf6bccc29e1cef270c72f9f12fb90d8767260c67b8143167b5c7655b2fdeec94fdf445d9d2c200e3600aab7358f7bcd159c11d4ed8bba0d3da162e772c48b39d7edf8836045db006510eb76b602d612476b412b44cf8c9a121ceb7dbb9891e33fe96e5d400591fd1129ab3219b366983b1b2fed43c2cfc973ca2fc8366569b00351a099ab7a5586910a974d910234aec28f0ba59822cac70ce5e9ce0d0f