Compare commits

..

3 Commits

Author SHA1 Message Date
dd220cef7e Post about HARICA root certificate on Android. 2026-01-01 18:10:09 +01:00
95e498c96a Add back BIMI image. 2026-01-01 18:09:55 +01:00
40f8077b82 Fix devcontainer. 2026-01-01 18:09:47 +01:00
7 changed files with 117 additions and 3 deletions

View File

@@ -16,12 +16,12 @@
// The optional 'workspaceFolder' property is the path VS Code should open by default when // The optional 'workspaceFolder' property is the path VS Code should open by default when
// connected. This is typically a file mount in .devcontainer/docker-compose.yml // connected. This is typically a file mount in .devcontainer/docker-compose.yml
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}" "workspaceFolder": "/src"
// Features to add to the dev container. More info: https://containers.dev/features. // Features to add to the dev container. More info: https://containers.dev/features.
// "features": {}, // "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.> // Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [], // "forwardPorts": [],
// Uncomment the next line if you want start specific services in your Docker Compose config. // Uncomment the next line if you want start specific services in your Docker Compose config.

View File

@@ -13,7 +13,7 @@ services:
volumes: volumes:
# Update this to wherever you want VS Code to mount the folder of your project # Update this to wherever you want VS Code to mount the folder of your project
- ..:/workspaces:cached # - ..:/src:cached
# Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust. # Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust.
# cap_add: # cap_add:

View File

@@ -0,0 +1,14 @@
---
title: "Summarize Subgroups With Percentages in R"
description: I need to remember how to summarize subgroups of a dataset with percentages in R!
date: 2024-11-04T16:30:07+0100
draft: true
# ShowLastmod: true
toc: false
scrolltotop: true
images: []
tags:
- R
- Tidyverse
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,93 @@
---
title: "Teaching an old Android new tricks"
description: >
An oldish Android phone suddenly refused to connect to an IMAP server.
The error message was not helpful at all. The solution was that the IMAP
server's SSL certificate had been issued by a different Certificate
Authority than before, and this CA's root certificate was not known to
the phone.
date: 2026-01-01T18:00:00+0200
draft: false
# ShowLastmod: true
toc: false
scrolltotop: true
images: []
tags:
- academia
- network
- phone
---
A few days ago, my smartphone suddenly stopped synchronizing my university emails.
I use [Aqua Mail][] to work with my emails on a Samsung Galaxy S20 FE. This phone
was purchased in 2021.
Aqua Mail worked perfectly well with both my personal as well as my university
email accounts. But now it refused to connect to the university's IMAP server:
{{< figure src="aqua-mail-no-peer-certificate.png"
caption="Aqua Mail complaining about the absence of a peer certificate." >}}
The German error message says (somewhat clumsily): **"Error Messages being
synchronized: Invalid security certificate (SSL): No peer certificates."**
I suspected the mail server to be at fault. After all, my setup used to work.
However, my laptop mail client was able to connect to the IMAP server without
any problem.
Web search with "Aqua Mail no peer certificates" wasn't helpful at all, either.
So I manually initiated an IMAP session with the server from the command line:
```fish
openssl s_client -connect $REDACTED:993 -crlf
```
This went well -- I simply terminated the session by issuing
```plain
a logout
```
(If you, like me, are not fluent in IMAP -- the `a` in front of the logout
command is an arbitrary, but required identifying prefix.)
The output started with these lines:
```plain
Connecting to [REDACTED]
CONNECTED(00000003)
depth=2 C=GR, O=Hellenic Academic and Research Institutions CA, CN=HARICA TLS RSA Root CA 2021
verify return:1
depth=1 C=GR, O=Hellenic Academic and Research Institutions CA, CN=GEANT TLS RSA 1
verify return:1
depth=0 C=DE, ST=[REDACTED], O=[REDACTED], CN=[REDACTED]
verify return:1
---
Certificate chain
# ...
```
This caught my eye. I remembered an announcement that the university
was going to obtain their certificates from [HARICA][] in the future,
and evidently, the future is now.
Sure enough, I did _not_ find the root certificate "HARICA TLS RSA Root CA 2021"
in the root certificate store of my phone. There were 3 HARICA certificates, but
not the required one "HARICA TLS RSA Root CA 2021".
{{< figure src="android-root-certificates.png"
caption="The root certificates of this 2021 Android phone do not include HARICA TLS RSA Root CA 2021." >}}
From there, the solution was simple. I downloaded the missing root certificate from
[HARICA's repository][] to my phone and installed it from there.
Now Aqua Mail happily syncs my uni mail account again.
Sometimes it pays off to try and teach an old dog new tricks!
Happy New Year.
[Aqua Mail]: https://aqua-mail.com/android
[HARICA]: https://www.harica.eu
[HARICA's repository]: https://repo.harica.gr/rep_dyn.php

7
static/img/bimi.svg Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="70mm" height="70mm" version="1.1" viewBox="0 0 70 70" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-61.818 -90.422)">
<rect x="61.818" y="90.422" width="70" height="70" color="black" fill="#fff" stroke-width="2"/>
<path d="m78.483 156.82c-2.6218-0.0558-4.788-0.11884-4.8137-0.14007-0.0257-0.0212-0.04676-1.1662-0.04676-2.5444v-2.5058l-0.62219-0.38414c-1.0414-0.64296-1.4269-2.1083-1.0708-4.0702 0.18508-1.0196 0.16835-1.2073-0.1574-1.7666-0.70394-1.2085-0.94819-4.2247-0.6102-7.5353 0.10969-1.0747 0.22404-1.397 0.64273-1.8123 0.43872-0.43508 0.50928-0.65636 0.50928-1.5972 0-0.89228 0.13688-1.3749 0.74794-2.6372 1.5915-3.2876 3.6503-5.749 5.1585-6.1673 0.40147-0.11129 1.5463-0.20294 2.5441-0.20351 2.0288-1e-3 3.6437-0.45634 5.0342-1.419 1.0923-0.75621 3.698-3.5883 4.448-4.8347l0.6408-1.0648-0.35024-0.64968c-0.19262-0.35731-0.66856-0.90152-1.0576-1.2094-1.2148-0.96111-1.4022-2.6875-0.44212-4.0715 0.2612-0.37652 0.4746-0.84815 0.47422-1.048-7.42e-4 -0.40984-0.56507-1.4016-1.1445-2.0115-0.33392-0.3515-0.37496-0.58219-0.30478-1.7134 0.0934-1.5051 0.47171-2.3639 1.2415-2.8182 0.30721-0.18128 0.71189-0.69671 0.93608-1.1922 0.5046-1.1154 3.143-3.706 4.4423-4.3618 0.59511-0.3004 1.4066-0.52332 2.1217-0.58282 1.086-0.09039 1.2247-0.158 2.2293-1.0871 1.2781-1.1821 2.8126-2.224 4.2307-2.8725 2.7426-1.2543 8.5676-0.43475 11.859 1.6685 1.4584 0.9319 4.0246 3.4938 4.2004 4.1934 0.0692 0.27543 0.33015 0.70489 0.57988 0.95437 0.24974 0.24945 0.45406 0.61947 0.45406 0.82223 0 0.20277 0.28544 0.96864 0.63432 1.7019 0.89526 1.8817 1.1891 2.7991 1.4438 4.5079 0.32272 2.165 0.2756 3.0114-0.25124 4.5123-0.47937 1.3657-1.0021 2.0954-3.2591 4.5496-1.7374 1.8891-1.9327 2.3782-1.9327 4.8389 0 1.9641-0.0203 2.0706-0.44756 2.3503-0.26617 0.17422-0.62899 0.24744-0.89525 0.18069-0.63539-0.15931-1.4381 0.19667-1.64 0.72732-0.22403 0.58862-0.51601 0.75501-1.2395 0.70633-0.85373-0.0574-1.5923 0.26091-1.4521 0.6259 0.1529 0.39806-0.57173 1.1417-1.2433 1.2759-0.37802 0.0756-0.62843 0.30247-0.85117 0.77139-0.48801 1.0273-1.1845 1.4225-2.5183 1.4289-1.3282 7e-3 -1.426-0.0484-3.501-1.9624-0.84898-0.7831-1.6061-1.4225-1.6825-1.421-0.32474 7e-3 -0.57603 0.3556-1.2085 1.6778-1.5558 3.2528-1.6577 3.5644-1.7698 5.4146l-0.10757 1.775 1.0997 0.74367c1.2809 0.86625 2.8421 2.139 3.8346 3.1263 0.54014 0.53728 0.72766 0.89812 0.8249 1.5873 0.0693 0.49058 0.33931 1.2639 0.60021 1.7186l0.47434 0.82657 0.36743-0.77988c0.20208-0.42894 0.44653-0.77989 0.54317-0.77989 0.0967 0 0.29875-0.29412 0.4491-0.6536 0.15034-0.35949 0.36134-0.65361 0.46883-0.65361 0.10757 0 0.14348-0.084 0.0799-0.18675-0.0636-0.10269 0.0156-0.18674 0.1759-0.18674s0.29144-0.083 0.29144-0.18455c0-0.1015 0.33649-0.23828 0.74776-0.30398 0.41126-0.0656 0.74776-0.18317 0.74776-0.26105 0-0.0778 0.2734-0.26955 0.60755-0.42593 1.0468-0.48989 4.8723-0.18305 5.9512 0.47733 0.61483 0.37632 1.43 1.8749 1.766 3.2467 0.35754 1.4594 0.66483 2.0353 1.4064 2.6359 0.28695 0.23237 0.58092 0.69177 0.65328 1.0209 0.0723 0.32911 0.36623 0.89531 0.65304 1.2582 0.71105 0.89969 0.92402 1.8236 0.9269 4.0212 1e-3 1.0271 0.0901 2.4066 0.19706 3.0655 0.16565 1.0198 0.15054 1.2421-0.10161 1.494-0.26633 0.26606-2.1924 0.29586-19.124 0.29586-10.355 0-20.973-0.0457-23.594-0.1015zm12.148-42.196c0.10439 0 0.18969-0.093 0.18969-0.20673 0-0.11368-0.13049-0.15667-0.29012-0.0956-0.15956 0.0611-0.24231 0.0339-0.18389-0.0605 0.17517-0.28313-0.26913-0.43381-0.56234-0.19072-0.28461 0.23596-0.35504 0.86752-0.15485 1.3887 0.09485 0.24697 0.18393 0.19621 0.4646-0.26485 0.19098-0.31371 0.43259-0.57038 0.53692-0.57038zm-0.91719 0.0778c0.0093-0.21755 0.05326-0.2618 0.113-0.11288 0.05405 0.13481 0.04743 0.29587-0.01471 0.35794-0.06213 0.0621-0.10625-0.0483-0.09817-0.24511z" fill="navy"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB