johannes.langlotz.info

Issued by Let's Encrypt Authority X3

About this certificate

This digital certificate with serial number 03:dc:b0:db:55:1d:97:18:02:ac:c9:c0:29:91:cb:00:7b:f4 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=johannes.langlotz.info

Let's Encrypt

Organization: Let's Encrypt
Country: US

This certificate has expire since

Certificate Details

Serial Number (hex): 03:dc:b0:db:55:1d:97:18:02:ac:c9:c0:29:91:cb:00:7b:f4
Serial Number (int): 336434061484506560509336286657819839593460
Serial Number lenght: 138 bits, 18 octets

SubjectKeyId: e9:6e:31:72:9f:41:8f:f0:7d:ff:38:28:c8:62:db:87:d7:9f:2c:32
AuthorityKeyId: a8:4a:6a:63:04:7d:dd:ba:e6:d1:39:b7:a6:45:65:ef:f3:a8:ec:a1

Fingerprint (sha1): d0:0c:09:41:b2:e6:f4:e1:9c:0e:e3:14:06:4a:23:76:2a:d8:31:61
Fingerprint (sha256): 50:2e:a9:8f:05:d9:03:cd:c7:e5:a5:07:fc:b5:65:32:2d:2c:06:5f:bd:cb:9b:1d:02:bf:54:41:e0:f7:16:77

Issuing Certificate URL: http://cert.int-x3.letsencrypt.org/

Revocation information

OCSP Server: http://ocsp.int-x3.letsencrypt.org

Check the revocation status for certificate johannes.langlotz.info

2

DNS Names

0

Email Addresses

0

IP Addresses

Advanced Certificate Properties

Tehnical certificate details for johannes.langlotz.info

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

8 extensions
No unhandled critical extensions

CA Certificate

This is not a CA certificate

Subject Alternative Names

johannes.langlotz.info
www.johannes.langlotz.info

Other certificates including the domain name langlotz.info

(limited to 100 certificates)
langlotz.info
markus.langlotz.info
markus.langlotz.info
matthias.langlotz.info
rebekka.langlotz.info
veronika.langlotz.info
johanna.langlotz.info
johannes.langlotz.info
matthias.langlotz.info
matthias.langlotz.info
johanna.langlotz.info
markus.langlotz.info
rebekka.langlotz.info
johannes.langlotz.info
veronika.langlotz.info
johannes.langlotz.info
johanna.langlotz.info
webmail.langlotz.info
matthias.langlotz.info
matthias.langlotz.info
markus.langlotz.info
veronika.langlotz.info
langlotz.info
langlotz.info
veronika.langlotz.info
johannes.langlotz.info
langlotz.info
webmail.langlotz.info
langlotz.info
langlotz.info
matthias.langlotz.info
markus.langlotz.info
johanna.langlotz.info
langlotz.info
veronika.langlotz.info
johanna.langlotz.info
johanna.langlotz.info
johannes.langlotz.info
veronika.langlotz.info
langlotz.info
johanna.langlotz.info
webmail.langlotz.info
markus.langlotz.info
johannes.langlotz.info
veronika.langlotz.info
johanna.langlotz.info
langlotz.info
langlotz.info
langlotz.info
markus.langlotz.info
johanna.langlotz.info
johannes.langlotz.info
johannes.langlotz.info
johannes.langlotz.info
johannes.langlotz.info
matthias.langlotz.info
johanna.langlotz.info
markus.langlotz.info
rebekka.langlotz.info
veronika.langlotz.info
langlotz.info
johannes.langlotz.info
langlotz.info
johanna.langlotz.info
langlotz.info
markus.langlotz.info
johanna.langlotz.info
johanna.langlotz.info
matthias.langlotz.info
langlotz.info
langlotz.info
markus.langlotz.info
veronika.langlotz.info
johanna.langlotz.info
veronika.langlotz.info
langlotz.info
veronika.langlotz.info
langlotz.info
markus.langlotz.info
matthias.langlotz.info
langlotz.info
veronika.langlotz.info
langlotz.info
johannes.langlotz.info
johanna.langlotz.info
markus.langlotz.info
johannes.langlotz.info
veronika.langlotz.info
johanna.langlotz.info
johannes.langlotz.info
veronika.langlotz.info
markus.langlotz.info
matthias.langlotz.info
markus.langlotz.info
matthias.langlotz.info
veronika.langlotz.info
johannes.langlotz.info
johannes.langlotz.info
johannes.langlotz.info
johanna.langlotz.info

Certificate

The complete raw certificate details for johannes.langlotz.info in PEM and ASN.1 format.

Certificate (PEM)

-----BEGIN CERTIFICATE-----
MIIFKzCCBBOgAwIBAgISA9yw21UdlxgCrMnAKZHLAHv0MA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAzMjEwOTA0MTdaFw0x
ODA2MTkwOTA0MTdaMCExHzAdBgNVBAMTFmpvaGFubmVzLmxhbmdsb3R6LmluZm8w
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsyXunIpvRBSOG7ZG0Kk/z
Ia8o46Dl0dpE5WKewmVgg9CdVdLWlqpMTLDAk/jLMQZChfYGRqxorAOlmWvMX/Mi
udXlpfRnII+YS5UGVDGo5SNvBK3PPxFHH1sMcw1F9mldBHz8euH4oRZi3o+Q4h9L
doGZEZjI2MTZFtE+oBw8M0NcN+tRYNA4Anudnd8p5Qv9sBHn7v+ZATckQArT5iJm
qTJ8U/4LxUArL5zux9fOhqz/9J0OOy/Tc419xMyVSeSH/iHQAm1s4MftV1CJY5n9
ii3+umujo/d4+w2Z/vO/YAoz4XLwY58VdHehPSrUWVwBPBcnUD+3I32hU5aDkylj
AgMBAAGjggIyMIICLjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH
AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFOluMXKfQY/wff84
KMhi24fXnywyMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsG
AQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNl
bmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl
bmNyeXB0Lm9yZy8wPQYDVR0RBDYwNIIWam9oYW5uZXMubGFuZ2xvdHouaW5mb4Ia
d3d3LmpvaGFubmVzLmxhbmdsb3R6LmluZm8wgf4GA1UdIASB9jCB8zAIBgZngQwB
AgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxl
dHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRl
IG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQg
b25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBm
b3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkq
hkiG9w0BAQsFAAOCAQEAZx4qh0NjFjfyD81XdnK+iQ+zYY5vh2ddJsHmmKE/CtKC
bBI5HSaezp3pzbVF/tRAfERPm6PnGaiD/6t3z15k1wysj/41zJNewkyRFysqzOWf
i2ehywcMLjPn0e6pz1x53wsneYLCHdrcTqRC5oJHtxVidTEUi/bIeeRMzYGqFywQ
ciJ0NqzFEhrXD7nZ6Jj5WYQvjSUu+TkxuY9+m2rKlvtlr5MML7SLWdLMDPDM5ox4
hu43mqHWFty/VEszbKsQwrpMqo2QL7tfKm9g/5VaSIjm26kDMefzr8AJAGXU5ZT1
nEae7a3PvxoEQ/+k35WpDM6oChieT9DlAORy94GdCw==
-----END CERTIFICATE-----

Public Key (PEM)

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArMl7pyKb0QUjhu2RtCpP
8yGvKOOg5dHaROVinsJlYIPQnVXS1paqTEywwJP4yzEGQoX2BkasaKwDpZlrzF/z
IrnV5aX0ZyCPmEuVBlQxqOUjbwStzz8RRx9bDHMNRfZpXQR8/Hrh+KEWYt6PkOIf
S3aBmRGYyNjE2RbRPqAcPDNDXDfrUWDQOAJ7nZ3fKeUL/bAR5+7/mQE3JEAK0+Yi
ZqkyfFP+C8VAKy+c7sfXzoas//SdDjsv03ONfcTMlUnkh/4h0AJtbODH7VdQiWOZ
/Yot/rpro6P3ePsNmf7zv2AKM+Fy8GOfFXR3oT0q1FlcATwXJ1A/tyN9oVOWg5Mp
YwIDAQAB
-----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 336434061484506560509336286657819839593460
 . . . . . . . . [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-03-21 09:04:17 +0000 UTC
 . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2018-06-19 09:04:17 +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 'johannes.langlotz.info'
 . . . . . . . . [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 21812343433856881331177033710788741796792063294133221768690499416507223639530928488868753745553182090457429229605581213871964157115052655584389429457917640368891322432682655941323337925338267038396158873701510452177491676654206185998643579334155928736868809187888112290076187708316851941194223047939747971943934083306560992524727692972631205174326042464586724416980582689166203306209422704550572058120873963951104592092503256026460930678143399581474930206529685257712817765008441110305643578114394782189264278040043974894856151905584466795915525837835249317282882721138084492399997670698354418599628728924514047699299
 . . . . . . . . . . . . . . . . . . . . [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)
							e96e31729f418ff07dff3828c862db87d79f2c32
 . . . . . . . . . . . . . . . . [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 (54 bytes)
 . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF 
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'johannes.langlotz.info'
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'www.johannes.langlotz.info'
 . . . . . . . . . . . . . . . . [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.2.840.113549.1.1.11 (sha256WithRSAEncryption)
 . . . . . . . . [c:0|t:5|false] NULL 
 . . . . [c:0|t:3|false] BIT STRING (2048 bits)
		00671e2a8743631637f20fcd577672be890fb3618e6f87675d26c1e698a13f0ad2826c12391d269ece9de9cdb545fed4407c444f9ba3e719a883ffab77cf5e64d70cac8ffe35cc935ec24c91172b2acce59f8b67a1cb070c2e33e7d1eea9cf5c79df0b277982c21ddadc4ea442e68247b715627531148bf6c879e44ccd81aa172c1072227436acc5121ad70fb9d9e898f959842f8d252ef93931b98f7e9b6aca96fb65af930c2fb48b59d2cc0cf0cce68c7886ee379aa1d616dcbf544b336cab10c2ba4caa8d902fbb5f2a6f60ff955a4888e6dba90331e7f3afc0090065d4e594f59c469eedadcfbf1a0443ffa4df95a90ccea80a189e4fd0e500e472f7819d0b