The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Email Subscription

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 717 other subscribers

Archive for the ‘HTTPS/TLS security’ Category

Volledig Post-Quantum Cryptografie website

Posted by jpluimers on 2026/11/04

Voor mijn link archief als ik er aan toe kom om ook een PQC web-site in te richten: [Wayback/Archive] Volledig Post-Quantum Cryptografie website, een mooi artikel van [Wayback/Archive] Harld (@harld@masto.ai) – Mastodon die sommigen kennen van een of meer van deze sites:

Via

Read the rest of this entry »

Posted in *nix, *nix-tools, Apache2, Certificates, Development, Encryption, HTTPS/TLS security, PKI, Power User, PQC, Public Key Cryptography, Security, Software Development, Web Development | Leave a Comment »

eMudhra popularised the number four in old jokes and caused many other jokes as well

Posted by jpluimers on 2026/10/29

A week ago, it seems like an eternity in vulnerability land, eMudhra popularised quoting the number four:

It felt like the Diginotar debacle, but 15 years later and voluntarily. And like I wrote yesterday, another (partially – hello “O=eMudhra BV, C=NL” next to “O=eMudhra Inc, C=US”) Dutch company involved. Hopefully that’s not a prediction for the future.

Given their laughably weak keys and their laughably excuse, lots of jokes appeared.

Apart from “there is always an XKCD” (I wish [Wayback/Archive] Relevant XKCD Search still functioned, but luckily [Wayback/Archive] Relevant XKCD does, hello [Wayback/Archive] Relevant XKCD=random), Randall Munroe also created aĀ  new one, plus one of the XCKD memes was re-used, so here are three, plus a whole lot of other jokes that quickly appeared:

Read the rest of this entry »

Posted in Certificates, Encryption, HTTPS/TLS security, Power User, Security | Leave a Comment »

“Add `–emudhra` option (#8500)” and “Add –emudhra-old option (#8503)” Ā· mitmproxy/mitmproxy@1692344 and mitmproxy/mitmproxy@62243e7

Posted by jpluimers on 2026/10/28

These didn’t take long for [Wayback/Archive] Mitmproxy 12.3: eMudhra Edition to appear with these commits:

  1. [Wayback/Archive] Add `–emudhra` option by mhils Ā· Pull Request #8500 Ā· mitmproxy/mitmproxy
  2. [Wayback/Archive] Add `–emudhra-old` option by mhils Ā· Pull Request #8503 Ā· mitmproxy/mitmproxy Ā· GitHub

It is by [Wayback/Archive] GitHub – mitmproxy/mitmproxy: An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers. Ā· GitHub whichĀ I mentioned a few times before on my blog¹, so now is the time introduce the mitmproxy category.

Oh BTW: like Diginotar, eMudhra lists about half of the affected certificates as coming from the Netherlands. See the O=eMudhra BV, C=NL bits at the [Wayback/Archive] eMudhra Intermediate CA Compromise.

I won’t go into much detail as why it is so easy to generate these eMudhra certificates, as a much better job already has been done at [Wayback/Archive] Why Were eMudhra’s CA Keys Easy to Guess? Ā· Metaheuristic

Read the rest of this entry »

Posted in Certificates, Development, Encryption, HTTPS/TLS security, JavaScript/ECMAScript, mitmproxy, Power User, Python, Scripting, Security, Software Development, TypeScript | Leave a Comment »

ssl – Why was 398 days chosen for TLS expiration? – Stack Overflow

Posted by jpluimers on 2026/01/01

Cool, since I switched to Let’s Encrypt a long while ago, I missed that various tools now require TLS expiration be no longer than 398 days away (and preferably even 397 days).

So I also missed the reason for that specific number of days. [Wayback/Archive] ssl – Why was 398 days chosen for TLS expiration? – Stack Overflow (thanksĀ [Wayback/Archive] stevendesu and [Wayback/Archive] user10063)

answers it:

366+31+1 = 398 days

It equals one leap year + one month + “a little room to handle the messiness of dates.”

then posts a lot of quotes from references to the history on how that reason came to be. I have archived and listed the links below.

Most of the discussion was during a very hectic time in life: after a single sided bad accident my mentally retarded brother was in and assisting him during his recovery period, I developed cancer and had extensive treatments against it. All the more reason for missing all this:

Read the rest of this entry »

Posted in Communications Development, Development, Encryption, https, HTTPS/TLS security, Internet protocol suite, Let's Encrypt (letsencrypt/certbot), Power User, Security, TCP, TLS | Tagged: , | Leave a Comment »

i-am-shodan/USBArmyKnife: USB Army Knife – the ultimate close access tool for penetration testers and red teamers.

Posted by jpluimers on 2025/09/30

Now that I got pointed to this twice (see “Via” below), I need to get one so I can play with it: [Wayback/Archive] GitHub – i-am-shodan/USBArmyKnife: USB Army Knife – the ultimate close access tool for penetration testers and red teamers.

Via:

Read the rest of this entry »

Posted in *nix, *nix-tools, Blue team, Bluetooth, Development, Encryption, ESP32, Hardware, Hardware Development, Hardware Interfacing, Home Audio/Video, HTTPS/TLS security, Infosec (Information Security), Network-and-equipment, Power User, Red team, Software Development, WiFi, Wireshark | Tagged: | Leave a Comment »

html – What can cause Chrome to give an net::ERR_FAILED on cached content against a server on localhost? – Stack Overflow

Posted by jpluimers on 2025/08/07

On my research list [Wayback/Archive] html – What can cause Chrome to give an net::ERR_FAILED on cached content against a server on localhost? – Stack Overflow

The reason what that back then this would fail (but worked in Firefox and Safari, and because I was in a hurry I didn’t research further): [Wayback/Archive] https://www.office.com/

This site can’t be reached

The webpage at https://www.office.com/ might be temporarily down or it may have moved permanently to a new web address.

ERR_FAILED

Thanks [Wayback/Archive] Mason Wheeler and [Wayback/Archive] Joel Davey.

Details:

Read the rest of this entry »

Posted in Chrome, Communications Development, Development, Encryption, HTTP, https, HTTPS/TLS security, Power User, Security, TCP, TLS, Web Browsers, Web Development | Leave a Comment »

Some HTTP redirect checking sites compared

Posted by jpluimers on 2025/04/02

 

Every now and then I want to check how a URL redirect, for instance when checking out why a domain failed loading in browsers a while ago because of certificate problems:

The thing was that back then, the site officially did not have a security certificate, but somehow the provider had installed a self-signed one. Most web-browsers then auto-redirect from http to https. Luckily the archival sites can archive without redirecting:

When querying [Wayback/Archive] redirect check – Google Search, you get quite some results. These are the ones I use most in descending order of preference and why they are at that position:

Read the rest of this entry »

Posted in *nix, *nix-tools, archive.is / archive.today, Communications Development, Development, Encryption, HTTP, https, HTTPS/TLS security, Internet, Internet protocol suite, ISP, Power User, Security, Software Development, TCP, WayBack machine, Web Development, wget, xs4all | Leave a Comment »

Nartac Software – IIS Crypto

Posted by jpluimers on 2025/03/26

Not just for IIS, but for hardening any Windows system including ones running http.sys (like ADFS): [Wayback/Archive] Nartac Software – IIS Crypto

Read the rest of this entry »

Posted in .NET, Communications Development, Development, Encryption, HTTP, HTTPS/TLS security, Software Development, TCP, Web Development | Leave a Comment »

crt.sh allows you to search for the history of TLS certificates for domains (example: *.wiert.me)

Posted by jpluimers on 2024/11/19

I while ago, I bumped intoĀ [Wayback/Archive] crt.sh | Certificate Search that allows searching for (the history of) TLS certificates.

One example of what it returns is [Wayback/Archive] crt.sh | wiert.me (for my blog domain and subdomains).

The basic mechanism of crt.sh is to query various Certificate Transparency logs and Certificate revocation list, terms I vaguely knew, but never fully realised the vast usefulness of (including questions likeĀ [Wayback/Archive] How does crt.sh becomes aware of certificates that are in no CT logs?).

The cool thing is that most (everything?) of it is open source in the various repositories atĀ [Wayback/Archive] Github: crt.sh.

There is also an advanced search page [Wayback/Archive] crt.sh | Certificate Search (a=1) with many more options (including linting) I really want to try later plus a bunch of background links (including the support forum at) of which some *.crt.sh returned a http 502 while writing this blog post. Will try later to see if they have started working again:

Read the rest of this entry »

Posted in Communications Development, Development, Encryption, HTTPS/TLS security, Internet protocol suite, Power User, Security, TCP, TLS | Leave a Comment »

string – Check if MyString[1] is an alphabetical character? – Stack Overflow (and how Embarcadero broke one of the product version neutral redirects)

Posted by jpluimers on 2024/09/24

Quite a while ago [Wayback/Archive] string – Check if MyString[1] is an alphabetical character? – Stack Overflow asked by [Wayback/Archive] User Jeff was answered by [Wayback/Archive] Andreas Rejbrand:

The simplest approach is

function GetAlphaSubstr(const Str: string): string;
const
  ALPHA_CHARS = ['a'..'z', 'A'..'Z'];
var
  ActualLength: integer;
  i: Integer;
begin
  SetLength(result, length(Str));
  ActualLength := 0;
  for i := 1 to length(Str) do
    if Str[i] in ALPHA_CHARS then
    begin
      inc(ActualLength);
      result[ActualLength] := Str[i];
    end;
  SetLength(Result, ActualLength);
end;

but this will only consider English letters as “alphabetical characters”. It will not even consider the extremely important Swedish letters ƅ, Ƅ, and Ɩ as “alphabetical characters”!

Slightly more sophisticated is

function GetAlphaSubstr2(const Str: string): string;
var
  ActualLength: integer;
  i: Integer;
begin
  SetLength(result, length(Str));
  ActualLength := 0;
  for i := 1 to length(Str) do
    if Character.IsLetter(Str[i]) then
    begin
      inc(ActualLength);
      result[ActualLength] := Str[i];
    end;
  SetLength(Result, ActualLength);
end;

Back in 2011 I added a comment that for more than a decade would redirect to the most current documentation on the IsLetter method:

+1 for usingĀ IsLetter which checks the Unicode definition for being a letter or not [Wayback] docwiki.embarcadero.com/VCL/en/Character.TCharacter.IsLetter

Back then, Delphi X2 was current, so it would redirect

  1. from [Wayback] http://docwiki.embarcadero.com/VCL/en/Character.TCharacter.IsLetter
  2. to [Wayback] http://docwiki.embarcadero.com/VCL/XE2/en/Character.TCharacter.IsLetter
  3. then to [Wayback] http://docwiki.embarcadero.com/VCL/XE2/en/Character.TCharacter.IsLetter
  4. ending at [Wayback] http://docwiki.embarcadero.com/Libraries/XE2/en/System.Character.TCharacter.IsLetter

After a long outage in 2022 (seeĀ The Delphi documentation site docwiki.embarcadero.com has been down/up oscillating for 4 days is now down for almost a day.) only the Alexandria help was restored.

This killed the above redirect.

Luckily [Wayback/Archive] George BirbilisĀ noticed that and commented this:

@JeroenWiertPluimers the correct link now is:Ā docwiki.embarcadero.com/Libraries/Alexandria/en/…

In order to refer to the most recent Delphi version, now you have to use [Wayback] http://docwiki.embarcadero.com/Libraries/en/System.Character.TCharacter.IsLetter.

This redirects:

  1. via [Wayback] http://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Character.TCharacter.IsLetter to
  2. to [Wayback] https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Character.TCharacter.IsLetter

The above breaks the help integration from older Delphi products which is bad. It is also bad because it makes it harder to port legacy Delphi code to more modern Delphi versions.

Hopefully the above gives you a bit insight how the docwiki help system was designed and what is left of that design.

–jeroen

Posted in Communications Development, Conference Topics, Conferences, Delphi, Development, Encryption, Event, HTML, HTTP, https, HTTPS/TLS security, Internet protocol suite, Power User, Security, Software Development, TCP, TLS, Web Development | Leave a Comment »