<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>Daniel Nashed&#8217;s Blog</title>
<description>Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/</link>
<language>en-us</language>
<lastBuildDate>Thu, 16 Apr 2026 10:13:46 +0200</lastBuildDate>
<item>
<title>Performance Challenges on modern Intel Hybrid CPUs with Notes and other applications</title>
<pubDate>Thu, 16 Apr 2026 10:13:46 +0200</pubDate>
<description>
<![CDATA[ 
After moving to a new notebook, my Notes client got very slow when I was in a Sametime meeting or ran other a bit more CPU intensive tasks. It turns out that Windows is giving the Notes client the sl ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/performance-challenges-with-modern-intel-hybrid-cpus-with-notes-and-other-applications.htm</link>
<category>Notes</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/performance-challenges-with-modern-intel-hybrid-cpus-with-notes-and-other-applications.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/performance-challenges-with-modern-intel-hybrid-cpus-with-notes-and-other-applications.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">After moving to a new notebook, my Notes client got very slow when I was in a Sametime meeting or ran other a bit more CPU intensive tasks.<br /> It turns out that Windows is giving the Notes client the slower E-Core CPU cores, which results in a very slow UI responsiveness.</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> HCL is aware of this and we had a call last week.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> If you are running a modern Intel CPU on your workstation/notebook you should read this link for detailed information and a tool</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:12pt;color:blue"><u><br /> </u></span><a href=https://github.com/nashcom/nshcpuset><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://github.com/nashcom/nshcpuset</u></span></a><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> I wrote up all the technical details and a small troubleshooting and work-around tool.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> My take away from this is that we have to watch more for the CPU P-Cores then the total number of cores a modern CPU has.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> The notebook I got has 2 physical P-Cores with Hyper-Threading + 8 E-Cores.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> This doesn't hit Notes alone! We had interesting experiences with VMware workstation before they looked into it.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Darren blogged about the VMware issues he ran into &nbsp;</span><a href="https://blog.darrenduke.net/darren/ddbz.nsf/dx/type-2-hypervisors-and-the-evils-of-e-cores.htm"><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://blog.darrenduke.net/darren/ddbz.nsf/dx/type-2-hypervisors-and-the-evils-of-e-cores.htm</u></span></a><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> I am not a fan of Processor Lasso and looked into the APIs on my own to get a clear picture.<br /> Processor Lasso is a too big tool with a lot of options.<br /> You can also use it, but the easier path is to use my small program. <br /> <br /> -- Daniel</span><span style=" font-size:12pt"> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/performance-challenges-with-modern-intel-hybrid-cpus-with-notes-and-other-applications.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/performance-challenges-with-modern-intel-hybrid-cpus-with-notes-and-other-applications.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Domino on Proxmox deployment models</title>
<pubDate>Wed, 15 Apr 2026 16:17:10 +0200</pubDate>
<description>
<![CDATA[ 
With the current cost increases for VMware licenses and also hardware some of my customers start to look very seriously for alternate solutions. One deployment method would be Proxmox with local ZFS ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-on-proxmox-deployment-models.htm</link>
<category>Proxmox</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-on-proxmox-deployment-models.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/domino-on-proxmox-deployment-models.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> With the current cost increases for VMware licenses and also hardware some of my customers start to look very seriously for alternate solutions.<br /> One deployment method would be Proxmox with local ZFS disks.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> ZFS is a very interesting file-system and volume manager combined. It offers a lot of flexibility and choices. <br /> Compression, de-duplication, optimized record size, snapshots, encryption and more benefits.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> I am a big fan for a while and I did blog about Domino on Proxmox before.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Last weekend I looked into different deployment methods for Domino on Proxmox for a customer.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> A VM with Linux + Docker + Domino might be additional overhead which could be optimized.<br /> <br /> LXC containers use native ZFS volumes and are very efficient:</span><span style=" font-size:12pt"> <br /> <br /> </span> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">Lightweight Linux instance with shared kernel like Docker</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Leverage ZFS host subvolumes for a true end to end storage management and less overhead</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Standardized OS images</span></li></ul><span style=" font-size:10pt;font-family:sans-serif"><br /> What is missing is the automated installation we know from Docker.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I am looking into that right now and if you are interested in Domino on Proxmox, I want to hear from you.<br /> <br /> At Engage I will show case Domino on Proxmox. I will bring a Proxmox server running on my notebook with an automated Domino installation including management scripts with me.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I would like to hear from you what type of deployments you are looking into.<br /> <br /> We are working on multiple deployment options optimized for Proxmox in combination with Domino clustering to optimize the deployment footprint.<br /> This includes DAOS storage deduplication cross servers and backup.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> -- Daniel</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> My Notebook deployment on VMware workstation with Proxmox 4 CPU cores + 8 RAM as a test/demo installation for on the road.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> For LXCs it does not even need the hardware support. </span><span style=" font-size:12pt"><br /> <br /> </span><img  alt="Image:Domino on Proxmox deployment models" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/domino-on-proxmox-deployment-models.htm/content/M2?OpenElement" /><span style=" font-size:12pt"><br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/domino-on-proxmox-deployment-models.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/domino-on-proxmox-deployment-models.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Join Us at Engage 2026: Domino on Linux, Installfest and CertMgr</title>
<pubDate>Tue, 14 Apr 2026 19:22:49 +0200</pubDate>
<description>
<![CDATA[ 
Engage Conference 2026 is just around the corner. A quick look at the agenda reveals several Linux-focused sessions—and that’s no coincidence. Linux continues to play a key role in sovereign and ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm</link>
<category></category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm</guid>
<content:encoded><![CDATA[  <table width=1599 style="border-collapse:collapse;"> <tr valign=top height=8> <td width=554 style="border-style:none none none none;border-color:#000000;border-width:0px 0px 0px 0px;padding:1px 1px;"><span style=" font-size:10pt;font-family:sans-serif">Engage Conference 2026 is just around the corner.<br /> <br /> A quick look at the agenda reveals several Linux-focused sessions—and that’s no coincidence.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Linux continues to play a key role in sovereign and future-proof solutions. As in previous years, Bill is hosting the popular Domino on Linux round table.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> In addition, the conference will feature a Linux desktop session along with a series of Domino on Linux Installfest sessions. These sessions can be attended independently, but they are also designed to complement each other and build progressively.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Bill, Martijn and I have teamed up to present a full range of sessions—from beginner through to expert level. This includes hands-on labs using on-demand virtual machines at Hetzner, along with forward and reverse DNS within our domino-lab.net environment.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Even if you can’t attend the Installfest sessions, the Linux round table is highly recommended. It’s a great opportunity to ask questions, share feedback, and connect with others—especially if you’re already running Domino on Linux or planning to explore it. For example on Proxmox.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> We’ll also share updates on what has been developed over the past year, along with a new initiative aimed at making Domino on Linux more accessible for administrators.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> As part of this effort, a new repository has been launched as a central entry point into the Domino on Linux ecosystem:</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> https://nashcom.github.io/nsh-domino-linux/</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Beyond the Linux sessions, I will present another session on Domino CertMgr. If certificate management and automation are topics of interest, this session should definitely be on your list.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> You can explore the full agenda here:</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> https://engage.ug/pages/session2026</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> We are looking forward to seeing you at Engage 2026.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Bill | Martijn | Daniel</span><span style=" font-size:12pt"> </span> <td width=513 style="border-style:none none none none;border-color:#000000;border-width:0px 0px 0px 0px;padding:1px 1px;"><img  alt="Image:Join Us at Engage 2026: Domino on Linux, Installfest and CertMgr" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm/content/M2?OpenElement" /> <td width=526 style="border-style:none none none none;border-color:#000000;border-width:0px 0px 0px 0px;padding:1px 1px;"><img  alt="Image:Join Us at Engage 2026: Domino on Linux, Installfest and CertMgr" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm/content/M3?OpenElement" /></table> <p style="margin-top:0px;margin-Bottom:0px"></p> <br /><span style=" font-size:12pt"><br /> <br /> <br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/join-us-at-engage-2026-domino-on-linux-installfest-and-certmgr.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Certificate Lifetimes Are Shrinking — Is Your Domino Infrastructure Ready?</title>
<pubDate>Mon, 30 Mar 2026 23:24:07 +0200</pubDate>
<description>
<![CDATA[ 
Certificate maximum lifetimes dropped to 200 days in March 2026 and will reach 47 days by 2029. At that frequency, manual renewal becomes operationally impossible. HCL Domino CertMgr automates issuan ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/certificate-lifetimes-are-shrinking-is-your-domino-infrastructure-ready.htm</link>
<category>CertMgr</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/certificate-lifetimes-are-shrinking-is-your-domino-infrastructure-ready.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/certificate-lifetimes-are-shrinking-is-your-domino-infrastructure-ready.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">Certificate maximum lifetimes dropped to 200 days in March 2026 and will reach 47 days by 2029.<br /> At that frequency, manual renewal becomes operationally impossible. HCL Domino CertMgr automates issuance and renewal end-to-end.<br /> This includes certificate rollover and also key rollover -- which is as important as rolling over certificates and often overlooked in current discussions.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> For everything outside Domino — NGINX, load balancers, and other services — there is a need for automated certificate management.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Rotating the private key on every renewal cycle is the part most deployments have not solved yet.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Here is a longer document I wrote up for one of the projects with additional details:</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:12pt;color:blue"><u><br /> </u></span><a href="https://github.com/nashcom/srvguard/blob/main/docs/certificate-lifetime-reduction.md"><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://github.com/nashcom/srvguard/blob/main/docs/certificate-lifetime-reduction.md</u></span></a><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> This initiative started last week. The timing is not a coincident. It's in time for my Engage presentation and the latest changes for certificate lifetime.<br /> <br /> When HCL introduced CertMgr in Domino 12.0 most of the feature we have today have been already present.<br /> Domino 12.0.1 introduced export / import which might be helpful for automation. <br /> <br /> CertMgr and certstore.nsf are built on open standards and importing certificates/keys and handling CSRs for an automated flow are straightforward to implement on Domino CertMgr side.<br /> The challenge is most time the CA side. My previous post shows a straightforward HashiCorp configuration using ACME as the protocol. <br /> But there are also other easy to use ways to integrate with modern CAs.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There is more to come. But I want to keep also some news for my conference session.<br /> If you are curious what is coming you can take a look at the referenced projects.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> -- Daniel</span><span style=" font-size:12pt"> <br /> <br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/certificate-lifetimes-are-shrinking-is-your-domino-infrastructure-ready.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/certificate-lifetimes-are-shrinking-is-your-domino-infrastructure-ready.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>HashiCorp ACME with Domino CertMgr – a Beautiful Combination</title>
<pubDate>Mon, 30 Mar 2026 22:59:58 +0200</pubDate>
<description>
<![CDATA[ 
For my upcoming session at HCL Engage next month, I’ve been looking into additional integrations for Domino CertMgr. The guiding principle is simple: use standards wherever possible. One of the most i ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm</link>
<category>CertMgr</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif">For my upcoming session at HCL Engage next month, I’ve been looking into additional integrations for Domino CertMgr. The guiding principle is simple: <strong>use standards wherever possible</strong>.<br /> One of the most important standards in this space is ACME. It has become the default protocol for automated certificate lifecycle management and is supported by virtually every modern toolchain.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> <br /> Vault as an enterprise ACME CA</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> HashiCorp Vault is a modern, API-first PKI solution widely used in corporate environments. With built-in ACME support, Vault can act as a fully functional ACME certificate authority.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> That makes integration straightforward:</span><span style=" font-size:12pt"> <br /> </span> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">Vault provides the CA</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">ACME provides the interface</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">CertMgr consumes certificates</span><span style=" font-size:12pt"> <br />  </span></li></ul><span style=" font-size:10pt;font-family:sans-serif"><br /> No custom code, no special handling—just standard protocol.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> <br /> Why this combination works so well</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Domino CertMgr was designed for automation. Pairing it with Vault via ACME creates a clean and robust setup:</span><span style=" font-size:12pt"> <br /> </span> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">enterprise-grade CA</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">fully automated issuance and renewal</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">standard-based integration</span></li></ul><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> <br /> Current work</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> I’m currently building a streamlined Vault setup to make testing and demos easier, including ACME-enabled configurations out of the box.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> This allows quick validation of:</span><span style=" font-size:12pt"> <br /> </span> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">Domino integrations</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">short-lived certificates</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">policy-driven issuance</span></li></ul><span style=" font-size:10pt;font-family:sans-serif"><br /> Some of this will be shown at Engage conference.</span><span style=" font-size:12pt"> <br /> <br /> <br /> </span><img  alt="Image:HashiCorp ACME with Domino CertMgr – a Beautiful Combination" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/hashicorp-acme-with-domino-certmgr-a-beautiful-combination.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Explaining the Domino CScan token</title>
<pubDate>Wed, 25 Mar 2026 00:43:39 +0200</pubDate>
<description>
<![CDATA[ 
Now that ClamAV integration shipped in 14.5.1 hopefully more admins look into CScan. CScan for mail flow scan is very straightforward to configure. The configuration database document now defaults to ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/explaining-the-domino-cscan-token.htm</link>
<category>CScan</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/explaining-the-domino-cscan-token.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/explaining-the-domino-cscan-token.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> Now that ClamAV integration shipped in 14.5.1 hopefully more admins look into CScan.<br /> CScan for mail flow scan is very straightforward to configure. The configuration database document now defaults to ClamAV with the default parameters.</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There some details about the implementation which are not well known but eventually good to know.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There is a Scan Token added when the document is scanned. This token avoids rescan the document on the next hup as long the virus scan signature does not change.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">Technically the token is a JWT which you can decode and read. Each server creates a key stored in it's CScan server document.<br /> The key is encrypted for the server and there is a public key to validate the token.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> The token contains the information about the server and time when the document was scanned, a hash, a thumb print of the signing key to find the right signing key.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> It contains also the scan version and pattern and the configuration.<br /> There is also a hash built based on the attachments in some way to avoid re-scanning and to check if attachments changed.<br /> <br /> Here is an example token which could be useful to know:</span><span style=" font-size:12pt"> <br /> </span><tt><span style=" font-size:9pt"><br /> Field Name: $$CScanToken</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> Data Type: Text</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> Data Length: 644 bytes</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> Seq Num: 1</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> Dup Item ID: 0</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> Field Flags: SUMMARY </span></tt><span style=" font-size:12pt"><br /> </span><tt><span style=" font-size:9pt"><br /> &quot;eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJFZERTQSJ9.eyJ2ZXJzaW9uIjoxLCJpc3N1ZXIiOiJEb21pbm8gQ29udGVudCBTY2FuIiwiY3JlYXRlZCI6IjIwMjYwMzIxVDE5NDE1OSwxMyswMCIsInNlcnZlciI6IkNOPXJheS5sYWIuZG51Zy5ldS9PPWRudWctbGFiIiwic2NhblZlcnNpb24iOiJDbGFtQVYgMS41LjEvMjc5NDciLCJjb25maWdEYiI6IjAwMjU4ODUyMTA3RUQ1NTIiLCJjb25maWdJRCI6IkIyODdDRTBDOUM1N0NCMkUwMDI1OEFCMTAwNTQxNjg1IiwiY29uZmlnTmFtZSI6ImNsYW1hdi1sYWIiLCJ2ZXJpZmljYXRpb25IYXNoIjoiRjJDM0IwOTA1RTAxMjQ0Qzk3Qjg5MDJDNzI3MjVEOUQ4RENDMERGMSIsImtleVRodW1icHJpbnQiOiJzMTFsSUxDeWVfbUk3NEpGZmlkYm5wbWsxY1EiLCJoYXNoQWxnb3JpdGhtIjoiU0hBMSJ9.Pe8ntQ0WaiDH8xksK2gK_8034uRul4qkFWD5GYp1iZKBET1_D-vqsiFs35X0DqUgNCHACWD0wINJ3ErE5OqbAw&quot;</span></tt><span style=" font-size:12pt"> <br /> </span><tt><span style=" font-size:9pt"><br /> ---</span></tt><span style=" font-size:12pt"> <br /> <br /> </span><tt><span style=" font-size:9pt"><br /> {</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;version&quot;: 1,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;issuer&quot;: &quot;Domino Content Scan&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;created&quot;: &quot;20260321T194159,13+00&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;server&quot;: &quot;CN=ray.lab.dnug.eu/O=dnug-lab&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;scanVersion&quot;: &quot;ClamAV 1.5.1/27947&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;configDb&quot;: &quot;00258852107ED552&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;configID&quot;: &quot;B287CE0C9C57CB2E00258AB100541685&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;configName&quot;: &quot;clamav-lab&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;verificationHash&quot;: &quot;F2C3B0905E01244C97B8902C72725D9D8DCC0DF1&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;keyThumbprint&quot;: &quot;s11lILCye_mI74JFfidbnpmk1cQ&quot;,</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br />  &nbsp;&quot;hashAlgorithm&quot;: &quot;SHA1&quot;</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:9pt"><br /> }</span></tt><span style=" font-size:12pt"> <br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/explaining-the-domino-cscan-token.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/explaining-the-domino-cscan-token.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Revisiting Domino ClamAV for databases on rest</title>
<pubDate>Tue, 24 Mar 2026 16:32:46 +0200</pubDate>
<description>
<![CDATA[ 
Domino 14.5.1 ships native ClamAV mail flow scan in addition to ICAP. The configuration is pretty straightforward as blogged earlier. What is still missing is an periodic/on demand scan of NSF files ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/revisiting-domino-clamav-for-databases-on-rest.htm</link>
<category>ClamAV</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/revisiting-domino-clamav-for-databases-on-rest.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/revisiting-domino-clamav-for-databases-on-rest.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif">Domino 14.5.1 ships native ClamAV mail flow scan in addition to ICAP.<br /> The configuration is pretty straightforward as blogged earlier.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">What is still missing is an periodic/on demand scan of NSF files.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I am revisiting my ClamAV integration on request of two customers.<br /> One doesn't have on rest scan yet. The other one is using a solution which is discontinued soon.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Because I spent all that work already and now Domino also uses ClamAV, it's a good idea to look into it again.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> <br /> Tag or quarantine messages?</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">The work I did was almost complete for a first round. What is still open is if we really want to remove attachments and what about quarantining messages.<br /> For now I am just tagging mails and optionally move them to a Virus folder.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Moving out attachments would be a pretty big step for a new feature.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> For the mail flow it looks a bit different, because the mail was never delivered to a user.<br /> <br /> I think for the first step moving to a Virus folder and central reporting would be good?</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> Logging</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">Now that Domino comes with a nice cscanlog.nsf, I am just reusing what is already available.<br /> I looked at all the fields and provide the same admin experience for the ClamAV on rest scan implementation.<br /> It would be a separate database. Maybe even a separate per scan.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <strong><br /> Looking for the next steps</strong></span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">The solution already supports incremental scans and scans for separate directories.<br /> There is no exclude or wild-card search. But that would be easy to add. Probably better with wildcard support then using lists?</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I think the first step could be wild-card support. using Unix standard regex. <br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">But eventually I want to also support Domino pattern matching? <br /> What do you think? I could offer both. Bot Unix pattern matching is the more standard approach.</span><span style=" font-size:12pt"> <br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/revisiting-domino-clamav-for-databases-on-rest.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/revisiting-domino-clamav-for-databases-on-rest.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Domino 14.5.1 AutoUpdate and container update</title>
<pubDate>Fri, 20 Mar 2026 21:48:51 +0200</pubDate>
<description>
<![CDATA[ 
For Linux my clear preference is a container deployment wherever possible. A container only adds a very thin layer on a server and makes updates and consistent installations possible. The container ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm</link>
<category>AutoUpdate</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">For Linux my clear preference is a container deployment wherever possible.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> A container only adds a very thin layer on a server and makes updates and consistent installations possible.<br /> The container image has a lot of customization options.<br /> <br /> I have a couple of customers who are really happy with their container deployment. OK they have me around to add any new option they might need on the fly -- which goes to the open source project as a feature immediately.<br /> Haha I am my best customer for the container deployment. I add new functionality mostly for me. And some features go hand in hand with functionality in the Domino start script.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> But you don't always want or can use containers.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">Domino Autoupdate is pretty cool. I just ran it again for 14.5.1 to update all my Windows servers and a coupe of Linux servers.<br /> In my case the Linux servers are mainly native to test autoupdate.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> But AutoUpdate itself has also some helpful information. AutoUpdate provides more detailed information about your servers in one single spot.<br /> It also knows about if the servers run in a container and which container platform is used.<br /> And It also knows for example the account the server runs on.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">On Linux it also provides the glibc version for example.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> None of this information is there by co-incident. I added all those details because they play an important role in the deployment process.<br /> <br /> Another small difference is that Domino servers report their version using a push. Each server is responsible for their own AutoUpdate server document on the central replica.</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> -- Daniel</span><span style=" font-size:12pt"> <br /> <br /> </span><img  alt="Image:Domino 14.5.1 AutoUpdate and container update" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm/content/M2?OpenElement" /><span style=" font-size:12pt"><br /> <br /> <br /> </span><img  alt="Image:Domino 14.5.1 AutoUpdate and container update" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm/content/M3?OpenElement" /><img  alt="Image:Domino 14.5.1 AutoUpdate and container update" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm/content/M4?OpenElement" /><span style=" font-size:12pt"><br /> <br /> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/domino-14.5.1-autoupdate-and-container-update.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5.1-autoupdate-and-container-update.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Domino/Traveler 14.5.1 shipped today - the container image is updated - ClamAV is added to Domino</title>
<pubDate>Thu, 19 Mar 2026 22:36:51 +0200</pubDate>
<description>
<![CDATA[ 
Domino &amp; Traveler 14.5.1 are now the default for the container build. But the menu behind &quot;D&quot; can be still used to switch the major version. All the changes always run thru an automat ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm</link>
<category>Domino</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> Domino &amp; Traveler 14.5.1 are now the default for the container build. But the menu behind &quot;<strong>D</strong>&quot; can be still used to switch the major version.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> All the changes always run thru an automation test. But you never know what might break.<br /> In this case it was a Traveler tar with a different name. Because it is compressed it needs the tar.gz extension.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Took me a moment to find it today. But I wrote a work-around and the file name will be updated soon.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Updating Domino servers to 14.5.1 is just a container build away -- if you run containers.<br /> I have updated my production servers and a couple of lab servers.<br /> <br /> But an update isn't as complicated as it was in earlier days also on other platforms.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There is no big version change from 14.5 to 14.5.1 for Java versions and Libs.<br /> Everything would be expected to work unchanged and there are enhancements I am waiting for.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> <br /> ClamAV </strong><br /> <br /> <br /> One addition in Domino 14.5.1 is the mail flow scan with ClamAV instead of ICAP.<br /> This brings free anti-virus to any Domino environment and is something you might want to look into for server to server scans.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> The scan is intelligent and works with a trusted JWT among servers which contain the scanner type and pattern along with an attachment hash. Actually hash of hashes, which avoids re-scan of the whole message inside a domain.</span><span style=" font-size:12pt"> <br /> <br /> </span><img  alt="Image:Domino/Traveler 14.5.1 shipped today - the container image is updated - ClamAV is added to Domino" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/dominotraveler-14.5.1-shipped-today-the-container-image-is-updated-clamav-is-added-to-domino.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Notes / Domino 14.5.1 – Testing TLS 1.3 and Post-Quantum Cryptography with HttpGetRequest </title>
<pubDate>Sun, 8 Mar 2026 22:06:24 +0200</pubDate>
<description>
<![CDATA[ 
Recently I received the first questions about protecting against attacks based on quantum computing, often referred to as Post-Quantum Cryptography (PQC). It’s interesting to see this topic appearin ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/notes-domino-14.5.1-–-testing-tls-1.3-and-post-quantum-cryptography-with-httpgetrequest-.htm</link>
<category>Notes</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/notes-domino-14.5.1-–-testing-tls-1.3-and-post-quantum-cryptography-with-httpgetrequest-.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/notes-domino-14.5.1-–-testing-tls-1.3-and-post-quantum-cryptography-with-httpgetrequest-.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:Arial"><br /> Recently I received the first questions about <strong>protecting against attacks based on quantum computing</strong>, often referred to as <strong>Post-Quantum Cryptography (PQC)</strong>.</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">It’s interesting to see this topic appearing in real customer discussions. Thinking ahead about cryptography is certainly important. However, the ecosystem is still evolving and <strong>very little software currently supports the new algorithms</strong>.<br /> With <strong>Notes/Domino 14.5.1 EA2</strong>, there is now early groundwork for PQC support.<br /> <br /> But what does this actually mean? And how can we test it?</span></p> <br /><span style=" font-size:14pt;font-family:Arial">What Domino 14.5.1 introduces</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> From the <strong>What's New in Notes/Domino 14.5.1 EA2 – Security section</strong>:</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">The OpenSSL library has been updated to version <strong>3.5.4</strong> in Domino 14.5.1 EAP2. This is a Long Term Support (LTS) version of the library that has been submitted to the CMVP for <strong>FIPS 140-3 verification</strong>.<br /> The cryptographic layer underlying Notes and Domino now leverages <strong>OpenSSL 3.5</strong> to support multiple algorithms relevant to protect against attacks based on quantum computing, such as <strong>ML-DSA, ML-KEM, SHAKE-128, and SHAKE-256</strong>.<br /> As this field is rapidly evolving and the IETF standards are still being written, there is <strong>no end-user PQC functionality currently available for use in 14.5.1</strong>.</span></p> <br /><span style=" font-size:14pt;font-family:Arial">What this actually means</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Notes/Domino <strong>14.5.1 ships with OpenSSL 3.5.4</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">OpenSSL 3.5 is the first mainstream OpenSSL version that includes <strong>initial support for PQC algorithms</strong>, including:<br /> <br /> </span></p> <ul> <li><span style=" font-size:10pt;font-family:Arial"><strong>ML-DSA</strong> (signature algorithm)</span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial"><strong>ML-KEM</strong> (key encapsulation)</span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial"><strong>SHAKE-128</strong></span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial"><strong>SHAKE-256</strong></span></li></ul><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Both <strong>OpenSSL and libcurl (it uses OpenSSL) are statically linked into Notes/Domino</strong>, which means Domino can use these algorithms <strong>wherever the OpenSSL backend is used</strong>.</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">One example is the <strong>LotusScript </strong></span><span style=" font-size:10pt;font-family:Consolas"><strong>HttpGetRequest</strong></span><span style=" font-size:10pt;font-family:Arial"><strong> class</strong>.<br /> Other components inside Notes/Domino still rely on the <strong>classical SSL/NTI stack</strong>, which currently <strong>does not support TLS 1.3</strong>.<br /> Where <strong>libcurl is used</strong>, TLS 1.3 and PQC-related algorithms become available.</span></p> <br /><span style=" font-size:14pt;font-family:Arial">The ecosystem challenge</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Most Linux distributions ship <strong>much older OpenSSL versions</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">OpenSSL <strong>3.5.x is still very new</strong>, so both ends of the connection must support it.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Requirements for PQC testing:</span></p> <br /> <table width=1269 style="border-collapse:collapse;"> <tr height=8> <td width=382 bgcolor=#f6f8fa style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial"><strong>Component</strong></span><span style=" font-size:12pt;font-family:sans-serif"> </span> <td width=879 bgcolor=#f6f8fa style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial"><strong>Requirement</strong></span><span style=" font-size:12pt;font-family:sans-serif"> </span> <tr height=8> <td width=382 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">Server</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <td width=879 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">OpenSSL ≥ 3.5</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <tr height=8> <td width=382 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">Client</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <td width=879 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">OpenSSL ≥ 3.5</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <tr height=8> <td width=382 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">Go applications</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <td width=879 style="border-style:solid solid solid solid;border-color:#DFE2E5;border-width:1px 1px 1px 1px;padding:1px 1px;"><span style=" font-size:10pt;font-family:Arial">Go ≥ 1.26 (Go does not use OpenSSL)</span></table> <p style="margin-top:0px;margin-Bottom:0px"></p> <br /><span style=" font-size:14pt;font-family:Arial"><br /> Testing PQC support</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> To experiment with PQC without upgrading an existing server environment, <strong>OpenSSL provides a very useful tool</strong>:</span></p> <br /><span style=" font-size:10pt;font-family:Consolas"><strong>openssl s_server</strong></span><span style=" font-size:12pt;font-family:sans-serif"><strong> </strong></span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> This command allows running a <strong>simple TLS test server</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">When used with the </span><span style=" font-size:10pt;font-family:Consolas">-www</span><span style=" font-size:10pt;font-family:Arial"> option, it returns a basic HTML page showing <strong>TLS handshake information</strong>.</span></p> <br /><span style=" font-size:14pt;font-family:Arial"><br /> Running a test server</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> The example below restricts the server to the <strong>PQC hybrid group </strong></span><span style=" font-size:10pt;font-family:Consolas"><strong>X25519MLKEM768</strong></span><span style=" font-size:10pt;font-family:Arial">.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">If a client supports PQC hybrid TLS, the connection will succeed.</span></p> <br /><span style=" font-size:14pt;font-family:Arial"><br /> Using a container for a modern OpenSSL version</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> A simple way to obtain a recent OpenSSL build is using a <strong>Kali Linux container</strong>, which ships with very recent packages.</span></p> <br /><span style=" font-size:10pt;font-family:Consolas"><br /> <br /> openssl_s_server.sh</span><span style=" font-size:12pt;font-family:sans-serif"> </span><span style=" font-size:10pt;font-family:Consolas"><br /> apt update<br /> apt install -y openssl<br /> <br /> HOSTNAME=$(hostname)<br /> <br /> echo<br /> echo HostName: &quot;$HOSTNAME&quot;<br /> echo<br /> <br /> if &#91; ! -e /local/server.key &#93; || &#91; ! -e /local/server.crt &#93;; then<br /> openssl req -x509 -new -newkey ec \<br /> -pkeyopt ec_paramgen_curve:P-256 \<br /> -pkeyopt ec_param_enc:named_curve \<br /> -nodes \<br /> -keyout /local/server.key \<br /> -out /local/server.crt \<br /> -days 365 \<br /> -subj &quot;/CN=$HOSTNAME&quot; \<br /> -addext &quot;subjectAltName=DNS:$HOSTNAME,DNS:localhost,IP:127.0.0.1&quot;<br /> fi<br /> <br /> openssl s_server \<br /> -accept 8443 \<br /> -cert /local/server.crt \<br /> -key /local/server.key \<br /> -groups X25519MLKEM768 \<br /> -www \<br /> -state<br /> <br /> run.sh</span><span style=" font-size:12pt;font-family:sans-serif"> </span><span style=" font-size:10pt;font-family:Consolas"><br /> HOSTNAME=$(hostname -f)<br /> <br /> docker run --rm -it \<br /> --name openssl \<br /> --hostname &quot;$HOSTNAME&quot; \<br /> -p 443:8443 \<br /> -v .:/local \<br /> kalilinux/kali-rolling \<br /> bash -c /local/openssl_s_server.sh</span><span style=" font-size:14pt;font-family:Arial"><br /> <br /> <br /> Test results</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> A <strong>Notes 14.5 FP1 client cannot connect</strong> to this server.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">However, the <strong>same request using Notes 14.5.1 EA2 works</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">The TLS negotiation output includes:</span></p> <br /><span style=" font-size:10pt;font-family:Consolas"><br /> Supported groups: X25519MLKEM768:x25519:secp256r1:x448:secp384r1<br /> Shared groups: X25519MLKEM768</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">Meaning the connection successfully negotiated the <strong>PQC hybrid group</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> The TLS session shows but the imported part is the group/CurveID</span></p> <br /><span style=" font-size:10pt;font-family:Consolas"><br /> Protocol : TLSv1.3<br /> Cipher &nbsp; : TLS_AES_256_GCM_SHA384</span><span style=" font-size:14pt;font-family:Arial"><br /> <br /> Java comparison</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Java currently does <strong>not support PQC in TLS</strong>.</span></p> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">Even <strong>Java 21</strong> does not implement:<br /> </span></p> <ul> <li><span style=" font-size:10pt;font-family:Arial">ML-DSA</span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial">ML-KEM</span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial">PQ hybrid TLS groups<br /> <br /> </span></li></ul><span style=" font-size:10pt;font-family:Arial">Java applications usually rely on <strong>HTTPS reverse proxies</strong>, which can provide TLS features in front of the application.</span><span style=" font-size:12pt;font-family:sans-serif"> </span><span style=" font-size:14pt;font-family:Arial"><br /> <br /> Conclusion</span><span style=" font-size:10pt;font-family:Arial"><br /> <br /> Notes&amp;Domino 14.5.1 ships with a <strong>very current OpenSSL version</strong>, helping the platform stay ahead of the cryptographic curve — quite literally.</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">However:<br /> <br /> </span></p> <ul> <li><span style=" font-size:10pt;font-family:Arial">Domino HTTP still requires a <strong>reverse proxy</strong> for TLS 1.3 and PQC support</span><span style=" font-size:12pt;font-family:sans-serif"> </span> </li><li><span style=" font-size:10pt;font-family:Arial">Most production environments already use reverse proxies or load balancers<br /> <br /> </span></li></ul><span style=" font-size:10pt;font-family:Arial">For <strong>Java environments</strong>, a reverse proxy approach is usually required as well.<br /> At the moment, <strong>few environments have an immediate need for PQC-safe operations</strong>, but it is useful to start experimenting with the technology.</span><span style=" font-size:12pt;font-family:sans-serif"> </span><span style=" font-size:14pt;font-family:Arial"><br /> </span> <br /> <br /><span style=" font-size:14pt;font-family:Arial">Testing external servers</span><span style=" font-size:10pt;font-family:Arial"><br /> <br /> <br /> To test a server you can use:</span><span style=" font-size:12pt;font-family:sans-serif"> </span><span style=" font-size:10pt;font-family:Consolas"><br /> openssl s_client -connect www.example.com:443</span><span style=" font-size:12pt;font-family:sans-serif"> </span> <p style="margin-top:10px;margin-Bottom:10px"><span style=" font-size:10pt;font-family:Arial">Make sure you are running <strong>OpenSSL 3.5 or newer</strong>, otherwise PQC groups will not be available.</span></p> <br /><span style=" font-size:14pt;font-family:Arial"><br /> Logs from OpenSSL s_server</span><span style=" font-size:12pt;font-family:sans-serif"> </span><tt><span style=" font-size:10pt"><br /> <br /> <br /> s_server -accept 8443 -cert /local/server.crt -key /local/server.key -cert_chain /local/chain.pem -groups X25519MLKEM768 -www -state <br /> This TLS version forbids renegotiation.<br /> Ciphers supported in s_server binary<br /> TLSv1.3 &nbsp; &nbsp;:TLS_AES_256_GCM_SHA384 &nbsp; &nbsp;TLSv1.3 &nbsp; &nbsp;:TLS_CHACHA20_POLY1305_SHA256 <br /> TLSv1.3 &nbsp; &nbsp;:TLS_AES_128_GCM_SHA256 &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES256-GCM-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:DHE-DSS-AES256-GCM-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-CHACHA20-POLY1305 <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2 &nbsp; &nbsp;:DHE-RSA-CHACHA20-POLY1305 <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES256-CCM &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES256-CCM &nbsp; &nbsp; &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-ARIA256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:ECDHE-ARIA256-GCM-SHA384 &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:DHE-DSS-ARIA256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:DHE-RSA-ARIA256-GCM-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:ADH-AES256-GCM-SHA384 &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 &nbsp; &nbsp;:DHE-DSS-AES128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES128-GCM-SHA256 TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES128-CCM &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES128-CCM &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-ARIA128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ARIA128-GCM-SHA256 &nbsp;TLSv1.2 &nbsp; &nbsp;:DHE-DSS-ARIA128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-ARIA128-GCM-SHA256 TLSv1.2 &nbsp; &nbsp;:ADH-AES128-GCM-SHA256 &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES256-CCM8 &nbsp; TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES128-CCM8 &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES256-CCM8 &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES128-CCM8 &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES256-SHA384 TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-AES256-SHA384 &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES256-SHA256 &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:DHE-DSS-AES256-SHA256 &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-CAMELLIA256-SHA384 TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-CAMELLIA256-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-CAMELLIA256-SHA256 TLSv1.2 &nbsp; &nbsp;:DHE-DSS-CAMELLIA256-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:ADH-AES256-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:ADH-CAMELLIA256-SHA256 &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-AES128-SHA256 TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-AES128-SHA256 &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-AES128-SHA256 &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:DHE-DSS-AES128-SHA256 &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:ECDHE-ECDSA-CAMELLIA128-SHA256 TLSv1.2 &nbsp; &nbsp;:ECDHE-RSA-CAMELLIA128-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-RSA-CAMELLIA128-SHA256 TLSv1.2 &nbsp; &nbsp;:DHE-DSS-CAMELLIA128-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:ADH-AES128-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:ADH-CAMELLIA128-SHA256 &nbsp; &nbsp;<br /> TLSv1.0 &nbsp; &nbsp;:ECDHE-ECDSA-AES256-SHA &nbsp; &nbsp;TLSv1.0 &nbsp; &nbsp;:ECDHE-RSA-AES256-SHA &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-RSA-AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:DHE-DSS-AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-RSA-CAMELLIA256-SHA &nbsp; SSLv3 &nbsp; &nbsp; &nbsp;:DHE-DSS-CAMELLIA256-SHA &nbsp; <br /> TLSv1.0 &nbsp; &nbsp;:AECDH-AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:ADH-AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:ADH-CAMELLIA256-SHA &nbsp; &nbsp; &nbsp; TLSv1.0 &nbsp; &nbsp;:ECDHE-ECDSA-AES128-SHA &nbsp; &nbsp;<br /> TLSv1.0 &nbsp; &nbsp;:ECDHE-RSA-AES128-SHA &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:DHE-RSA-AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-DSS-AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:DHE-RSA-SEED-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-DSS-SEED-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:DHE-RSA-CAMELLIA128-SHA &nbsp; <br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-DSS-CAMELLIA128-SHA &nbsp; TLSv1.0 &nbsp; &nbsp;:AECDH-AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:ADH-AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:ADH-SEED-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:ADH-CAMELLIA128-SHA &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:RSA-PSK-AES256-GCM-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:RSA-PSK-CHACHA20-POLY1305 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-CHACHA20-POLY1305 TLSv1.2 &nbsp; &nbsp;:ECDHE-PSK-CHACHA20-POLY1305 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES256-CCM &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:RSA-PSK-ARIA256-GCM-SHA384 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-ARIA256-GCM-SHA384 TLSv1.2 &nbsp; &nbsp;:AES256-GCM-SHA384 &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:AES256-CCM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:ARIA256-GCM-SHA384 &nbsp; &nbsp; &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:PSK-AES256-GCM-SHA384 &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:PSK-CHACHA20-POLY1305 &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:PSK-AES256-CCM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:PSK-ARIA256-GCM-SHA384 &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:RSA-PSK-AES128-GCM-SHA256 TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES128-CCM &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:RSA-PSK-ARIA128-GCM-SHA256 <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-ARIA128-GCM-SHA256 TLSv1.2 &nbsp; &nbsp;:AES128-GCM-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:AES128-CCM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:ARIA128-GCM-SHA256 &nbsp; &nbsp; &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:PSK-AES128-GCM-SHA256 &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:PSK-AES128-CCM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> TLSv1.2 &nbsp; &nbsp;:PSK-ARIA128-GCM-SHA256 &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES256-CCM8 &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:DHE-PSK-AES128-CCM8 &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:AES256-CCM8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:AES128-CCM8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:PSK-AES256-CCM8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:PSK-AES128-CCM8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.2 &nbsp; &nbsp;:AES256-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:CAMELLIA256-SHA256 &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.2 &nbsp; &nbsp;:AES128-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> TLSv1.2 &nbsp; &nbsp;:CAMELLIA128-SHA256 &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-AES256-CBC-SHA384 <br /> TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-AES256-CBC-SHA &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:SRP-DSS-AES-256-CBC-SHA &nbsp; <br /> SSLv3 &nbsp; &nbsp; &nbsp;:SRP-RSA-AES-256-CBC-SHA &nbsp; SSLv3 &nbsp; &nbsp; &nbsp;:SRP-AES-256-CBC-SHA &nbsp; &nbsp; &nbsp; <br /> TLSv1.0 &nbsp; &nbsp;:RSA-PSK-AES256-CBC-SHA384 TLSv1.0 &nbsp; &nbsp;:DHE-PSK-AES256-CBC-SHA384 <br /> SSLv3 &nbsp; &nbsp; &nbsp;:RSA-PSK-AES256-CBC-SHA &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:DHE-PSK-AES256-CBC-SHA &nbsp; &nbsp;<br /> TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-CAMELLIA256-SHA384 TLSv1.0 &nbsp; &nbsp;:RSA-PSK-CAMELLIA256-SHA384 <br /> TLSv1.0 &nbsp; &nbsp;:DHE-PSK-CAMELLIA256-SHA384 SSLv3 &nbsp; &nbsp; &nbsp;:AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:CAMELLIA256-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.0 &nbsp; &nbsp;:PSK-AES256-CBC-SHA384 &nbsp; &nbsp; <br /> SSLv3 &nbsp; &nbsp; &nbsp;:PSK-AES256-CBC-SHA &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.0 &nbsp; &nbsp;:PSK-CAMELLIA256-SHA384 &nbsp; &nbsp;<br /> TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-AES128-CBC-SHA256 TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-AES128-CBC-SHA &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:SRP-DSS-AES-128-CBC-SHA &nbsp; SSLv3 &nbsp; &nbsp; &nbsp;:SRP-RSA-AES-128-CBC-SHA &nbsp; <br /> SSLv3 &nbsp; &nbsp; &nbsp;:SRP-AES-128-CBC-SHA &nbsp; &nbsp; &nbsp; TLSv1.0 &nbsp; &nbsp;:RSA-PSK-AES128-CBC-SHA256 <br /> TLSv1.0 &nbsp; &nbsp;:DHE-PSK-AES128-CBC-SHA256 SSLv3 &nbsp; &nbsp; &nbsp;:RSA-PSK-AES128-CBC-SHA &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:DHE-PSK-AES128-CBC-SHA &nbsp; &nbsp;TLSv1.0 &nbsp; &nbsp;:ECDHE-PSK-CAMELLIA128-SHA256 <br /> TLSv1.0 &nbsp; &nbsp;:RSA-PSK-CAMELLIA128-SHA256 TLSv1.0 &nbsp; &nbsp;:DHE-PSK-CAMELLIA128-SHA256 <br /> SSLv3 &nbsp; &nbsp; &nbsp;:AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSLv3 &nbsp; &nbsp; &nbsp;:SEED-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> SSLv3 &nbsp; &nbsp; &nbsp;:CAMELLIA128-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TLSv1.0 &nbsp; &nbsp;:PSK-AES128-CBC-SHA256 &nbsp; &nbsp; <br /> SSLv3 &nbsp; &nbsp; &nbsp;:PSK-AES128-CBC-SHA &nbsp; &nbsp; &nbsp; &nbsp;TLSv1.0 &nbsp; &nbsp;:PSK-CAMELLIA128-SHA256 &nbsp; &nbsp;<br /> ---<br /> Ciphers common between both SSL end points:<br /> TLS_AES_256_GCM_SHA384 &nbsp; &nbsp; TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 &nbsp; &nbsp;<br /> ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-GCM-SHA384 <br /> ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 DHE-RSA-CHACHA20-POLY1305 <br /> ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 <br /> ECDHE-ECDSA-AES256-SHA384 &nbsp;ECDHE-RSA-AES256-SHA384 &nbsp; &nbsp;DHE-RSA-AES256-SHA256 &nbsp; &nbsp; <br /> ECDHE-ECDSA-AES128-SHA256 &nbsp;ECDHE-RSA-AES128-SHA256 &nbsp; &nbsp;DHE-RSA-AES128-SHA256 &nbsp; &nbsp; <br /> ECDHE-ECDSA-AES256-SHA &nbsp; &nbsp; ECDHE-RSA-AES256-SHA &nbsp; &nbsp; &nbsp; DHE-RSA-AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp;<br /> ECDHE-ECDSA-AES128-SHA &nbsp; &nbsp; ECDHE-RSA-AES128-SHA &nbsp; &nbsp; &nbsp; DHE-RSA-AES128-SHA &nbsp; &nbsp; &nbsp; &nbsp;<br /> AES256-GCM-SHA384 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AES128-GCM-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AES256-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> AES128-SHA256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AES256-SHA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AES128-SHA<br /> Signature Algorithms: id-ml-dsa-65:id-ml-dsa-87:id-ml-dsa-44:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:ed25519:ed448:ecdsa_brainpoolP256r1_sha256:ecdsa_brainpoolP384r1_sha384:ecdsa_brainpoolP512r1_sha512:rsa_pss_pss_sha256:rsa_pss_pss_sha384:rsa_pss_pss_sha512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:DSA+SHA256:DSA+SHA384:DSA+SHA512<br /> Shared Signature Algorithms: id-ml-dsa-65:id-ml-dsa-87:id-ml-dsa-44:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:ed25519:ed448:ecdsa_brainpoolP256r1_sha256:ecdsa_brainpoolP384r1_sha384:ecdsa_brainpoolP512r1_sha512:rsa_pss_pss_sha256:rsa_pss_pss_sha384:rsa_pss_pss_sha512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224<br /> Supported groups: X25519MLKEM768:x25519:secp256r1:x448:secp384r1:secp521r1:ffdhe2048:ffdhe3072</span></tt><tt><span style=" font-size:10pt;color:red"><strong><br /> Shared groups: X25519MLKEM768</strong></span></tt><tt><span style=" font-size:10pt"><br /> ---<br /> New, </span></tt><tt><span style=" font-size:10pt;color:red"><strong>TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384</strong></span></tt><tt><span style=" font-size:10pt"><br /> SSL-Session:<br /> Protocol &nbsp;: TLSv1.3<br /> Cipher &nbsp; &nbsp;: TLS_AES_256_GCM_SHA384<br /> Session-ID: AA0FD5EF7D084515DB148EB6AEF8061905A90BAD3E87DE157B5859212135E283<br /> Session-ID-ctx: 01000000<br /> Resumption PSK: 75BAD9484C7D6F0CF176130FC6CEE498A8CF3F12C154080D1547F9B4ED12C4A72596345B3AC6D82EA2C2233C3C929558<br /> PSK identity: None<br /> PSK identity hint: None<br /> SRP username: None<br /> Start Time: 1772999818<br /> Timeout &nbsp; : 7200 (sec)<br /> Verify return code: 0 (ok)<br /> Extended master secret: no<br /> Max Early Data: 0<br /> ---<br /> 0 items in the session cache<br /> 0 client connects (SSL_connect())<br /> 0 client renegotiates (SSL_connect())<br /> 0 client connects that finished<br /> 29 server accepts (SSL_accept())<br /> 0 server renegotiates (SSL_accept())<br /> 20 server accepts that finished<br /> 2 session cache hits<br /> 0 session cache misses<br /> 0 session cache timeouts<br /> 0 callback cache hits<br /> 0 cache full overflows (128 allowed)<br /> ---<br /> <br /> <br /> no client certificate available</span></tt><span style=" font-size:12pt;font-family:sans-serif"> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/notes-domino-14.5.1-–-testing-tls-1.3-and-post-quantum-cryptography-with-httpgetrequest-.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/notes-domino-14.5.1-–-testing-tls-1.3-and-post-quantum-cryptography-with-httpgetrequest-.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>How to run a program on Linux multiple times in parallel for testing</title>
<pubDate>Thu, 5 Mar 2026 21:57:26 +0200</pubDate>
<description>
<![CDATA[ 
This is really cool. I did't know about those options for xargs. And I never used seq. It can be used for a lot of things. Here is an example to create test mails seq 1 50 | xargs -P50 -I{} nshmail ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/how-to-run-a-program-on-linux-multiple-times-in-parallel-for-testing.htm</link>
<category>Linux</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/how-to-run-a-program-on-linux-multiple-times-in-parallel-for-testing.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/how-to-run-a-program-on-linux-multiple-times-in-parallel-for-testing.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">This is really cool. I did't know about those options for <strong>xargs</strong>. And I never used <strong>seq</strong>.<br /> It can be used for a lot of things. <br /> <br /> Here is an example to create test mails</span> <br /><tt><span style=" font-size:10pt">seq 1 50 | xargs -P50 -I{} nshmailx -to test@example.com -subject &quot;TestMail {}&quot; -server 127.0.0.1 -port 25</span></tt> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Here is a more simple example which demonstrates what it does.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif"><strong>seq 1 10 | xargs -P50 -I{} echo '&quot;Test{}&quot;'</strong></span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">seq counts from 1 to 10 and prints the result to stdout.</span> <br /><span style=" font-size:10pt;font-family:sans-serif">It could be also used to start at a different value and you can add an optional increment.</span> <br /> <br /><span style=" font-size:10pt;font-family:Arial">There are two interesting options for xargs.</span> <br /> <br /><span style=" font-size:10pt;font-family:Arial"><strong>-P50 </strong></span> <br /> <br /><span style=" font-size:10pt;font-family:Arial">run the specified program with 50 instances in parallel</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif"><strong>-I{}</strong></span> <br /> <br /><span style=" font-size:10pt;font-family:Arial">specify a place holder which will be replaced by the text from stdin -- in this case the number.</span> <br /> <br /><span style=" font-size:10pt;font-family:Arial">What is also cool is that it works in single and double quotes.</span> <br /> <br /><tt><span style=" font-size:10pt">seq 1 10 | xargs -P50 -I{} echo '&quot;Test{}&quot;'</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test1&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test2&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test3&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test4&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test5&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test6&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test7&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test8&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test9&quot;</span></tt> <br /><tt><span style=" font-size:10pt">&quot;Test10&quot;</span></tt>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/how-to-run-a-program-on-linux-multiple-times-in-parallel-for-testing.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/how-to-run-a-program-on-linux-multiple-times-in-parallel-for-testing.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Domino Start Script - Changing the default command for showing log files to &quot;less&quot;</title>
<pubDate>Sat, 28 Feb 2026 12:03:26 +0200</pubDate>
<description>
<![CDATA[ 
In preparation for the Engage Domino on Linux workshops I looked again into the editor used by default. Currently the default editor for the start script is vi. All scripts respect the EDITOR environm ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-start-script-changing-the-default-command-for-showing-log-files-to-less.htm</link>
<category>Domino Start Script</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-start-script-changing-the-default-command-for-showing-log-files-to-less.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/domino-start-script-changing-the-default-command-for-showing-log-files-to-less.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif">In preparation for the Engage Domino on Linux workshops I looked again into the editor used by default.<br /> Currently the default editor for the start script is vi. All scripts respect the <strong>EDITOR</strong> environment variable which you could set in your environment.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> But for showing logs probably the &quot;less&quot; command would be more helpful for anyone who is not a &quot;<strong>vi</strong>&quot; expert.</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> The start script had an environment variable for a while. If you want to go back to the previous mode or if you want a different editor you can override the default configuration:</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> SHOW_LOG_COMMAND=vi</strong><br /> <br /> I would also like to understand which type of editor you are using on Linux.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> The following list should show the most popular ones. </span> <br /> <br /> <ul> <li><span style=" font-size:10pt;font-family:sans-serif"><strong>vi/vim</strong></span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif"><strong>nano</strong> seams to be very popular if you are not a vi fan</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif"><strong>mcdedit</strong> from Midnight Commander</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif"><strong>micro </strong>is another simple to use editor</span><span style=" font-size:12pt"> </span> <br /><span style=" font-size:12pt">&nbsp;</span></li></ul>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/domino-start-script-changing-the-default-command-for-showing-log-files-to-less.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/domino-start-script-changing-the-default-command-for-showing-log-files-to-less.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Converting a binary file to Base64 in Lotus Script</title>
<pubDate>Sat, 28 Feb 2026 03:33:30 +0200</pubDate>
<description>
<![CDATA[ 
This took me a while. The devil is in the detail. But finally I came up with something quite straightforward. I had similar code in my blog which I finally took to build this helper function. The ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/converting-a-binary-file-to-base64-in-lotus-script.htm</link>
<category>Lotus Script</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/converting-a-binary-file-to-base64-in-lotus-script.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/converting-a-binary-file-to-base64-in-lotus-script.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">This took me a while. The devil is in the detail. <br /> But finally I came up with something quite straightforward.<br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">I had similar code in my blog which I finally took to build this helper function.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> The Base64 encoding is needed for data source images which I will add in-line into Markdown.<br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">-- Daniel</span> <br /> <br /><tt><span style=" font-size:10pt"><br /> Function EncodeFileBase64 (FileName As String) As String</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;Dim session As New NotesSession</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Dim stream As NotesStream</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Dim db As NotesDatabase</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Dim doc As NotesDocument</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Dim body As NotesMIMEEntity</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;Set stream = session.CreateStream</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Call stream.Open(FileName, &quot;Binary&quot;)</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;Set db = session.CurrentDatabase</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Set doc = db.CreateDocument</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Set body = doc.CreateMIMEEntity</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;Call body.SetContentFromBytes(stream, &quot;application/octet-stream&quot;, ENC_IDENTITY_BINARY)</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Call body.EncodeContent(ENC_BASE64)</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;EncodeFileBase64 = Replace(Replace(body.ContentAsText, Chr(13), &quot;&quot;), Chr(10), &quot;&quot;)</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br />  &nbsp; &nbsp; &nbsp; &nbsp;Call stream.Close</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;Set doc = Nothing</span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><br />  &nbsp; &nbsp; &nbsp; &nbsp;<br /> End Function</span></tt><span style=" font-size:12pt"> </span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/converting-a-binary-file-to-base64-in-lotus-script.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/converting-a-binary-file-to-base64-in-lotus-script.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Engage 2026 Agenda is live -- My CertMgr session got accepted</title>
<pubDate>Fri, 27 Feb 2026 19:33:36 +0200</pubDate>
<description>
<![CDATA[ 
Just before the weekend the agenda got published --&gt; https://engage.ug/pages/session2026 Bill, Martijn and myself are going to have a couple of sessions about Domino on Linux (Installfest &amp; ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm</link>
<category>Engage</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">Just before the weekend the agenda got published --&gt; </span><a href=https://engage.ug/pages/session2026><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://engage.ug/pages/session2026</u></span></a><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> Bill, Martijn and myself are going to have a couple of sessions about Domino on Linux (Installfest &amp; Roundtable sessions).<br /> <br /> And there is also a Linux desktop session from Bill. We might have surprises for admins &amp; developers who want to run Linux on their notebook as you might guess from earlier Linux on USB stick posts.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> But beside the shared Linux sessions I am also very happy that my Domino CertMgr session got approved.<br /> The session will go way beyond the standard use cases and I am working on some integration options which I will go thru and publish before or at Engage.<strong><br /> <br /> Domino CertMgr</strong></span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> If you have specific use cases that go beyond the standard use cases, I want to hear from you.<br /> I have plenty of ideas and ready extensions. But I want to make this to make a practical experience.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> You can ping me either directly or thru the HCL Domino CertMgr GitHub repository by opening an issue --&gt; </span><a href="https://github.com/HCL-TECH-SOFTWARE/domino-cert-manager"><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://github.com/HCL-TECH-SOFTWARE/domino-cert-manager</u></span></a><span style=" font-size:10pt;font-family:sans-serif"><br /> There is already a lot of extra material in the repository and there is also OTS integration for CertMgr.<br /> <br /> But the session will go far beyond that, explains technical background and how components work hand in hand together.<br /> There are also some new CertMgr features in Domino 14.5.1 we will go thru.<br /> <br /> I am looking forward to Engage conference!</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> -- Daniel</span><span style=" font-size:12pt"><br /> <br /> <br /> </span><img  alt="Image:Engage 2026 Agenda is live -- My CertMgr session got accepted" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/engage-2026-agenda-is-live-my-certmgr-session-got-accepted.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>CertMgrUtils Usecase</title>
<pubDate>Fri, 27 Feb 2026 02:51:54 +0200</pubDate>
<description>
<![CDATA[ 
Here is the use case I had in mind first when building the helper script lib. A flow where my CertMgrUtils class is used. Earlier the MicroCA was added as a trusted root. From there the Script Lib ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/certmgrutils-usecase.htm</link>
<category>CertMgr</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/certmgrutils-usecase.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/certmgrutils-usecase.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">Here is the use case I had in mind first when building the helper script lib.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> A flow where my CertMgrUtils class is used.<br /> <br /> Earlier the MicroCA was added as a trusted root.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> From there the Script Lib copies the trusted root from CertStore to to names.nsf to make sure the Lotus Script <strong>NotesHTTPRequest</strong> can connect to the K8s service.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <strong><br /> Flow</strong></span><span style=" font-size:12pt"> </span> <br /> <br /> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">Create a key outside Domino using OpenSSL with a password</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Add it via OTS to a setup document in an application including the password</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">A setup agent uses the Lib to import the key directly from the document to certstore.nsf</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Request a MicroCA document by filling in the right fields</span><span style=" font-size:12pt"> </span> <br /><span style=" font-size:12pt">&nbsp;</span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Create a K8s pod which has the private key assigned to a secret</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">The pod runs a Go process using the key and gets the matching certificate from CertMgr via HTTP before starting the listener</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">At run-time CertMgr is queried over HTTP with SNI for a matching new certificate matching the private key</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">The certificate and key is updated on the fly and the HTTP listener reloads on the fly</span><span style=" font-size:12pt"> </span> <br /><span style=" font-size:12pt">&nbsp;</span></li></ul><span style=" font-size:12pt"><br /> </span><img  alt="Image:CertMgrUtils Usecase" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/certmgrutils-usecase.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/certmgrutils-usecase.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/certmgrutils-usecase.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Picking the right cloud server hardware</title>
<pubDate>Fri, 27 Feb 2026 02:26:23 +0200</pubDate>
<description>
<![CDATA[ 
When choosing cloud server hardware, the devil is in the detail. CPU performance Cost effective hardware usually uses older CPU models which don't have hardware support for hash and crypto operatio ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/picking-the-right-cloud-server-hardware.htm</link>
<category>Domino</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/picking-the-right-cloud-server-hardware.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/picking-the-right-cloud-server-hardware.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">When choosing cloud server hardware, the devil is in the detail.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif"><strong>CPU performance</strong></span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Cost effective hardware usually uses older CPU models which don't have hardware support for hash and crypto operations.</span> <br /><span style=" font-size:10pt;font-family:sans-serif">In modern application communication requires TLS. Also ZFS and other components require hardware support for SHA operations and crypto.</span> <br /><span style=" font-size:10pt;font-family:sans-serif"><br /> A simple test shows the difference.</span> <br /> <br /><tt><span style=" font-size:10pt">openssl speed -seconds 3 -bytes 16384 sha256 2&gt;/dev/null | awk '/^sha256/ {printf &quot;%.2f MB/s\n&quot;, $2/1000}' </span></tt><span style=" font-size:10pt;font-family:sans-serif"><br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">My older VM cost efficient server at Hetzner doesn't have hardware support for thos operations:</span> <br /><span style=" font-size:10pt;font-family:sans-serif"><strong><br /> 332.13 MB/s</strong> <br /> <br /> A more modern machine shows dramatically better performance:<br /> <strong><br /> 1762.05 MB/s</strong> <br /> <br /> My local Proxmox host on new Intel hardware even has better performance.<br /> <strong><br /> 2347.82 MB/s</strong> </span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">For larger servers with higher load the new modern CPU makes a lot of sense and is good invested money.</span> <br /> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif"><strong>Disk performance</strong></span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Specially for Domino I/O response time is very important for NSF. <br /> Domino uses many small random I/Os and is more read than write bound.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">I/O writes are usually very well cached. Reading data can also be well cached if you have sufficient RAM.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">But fast SSDs still make a difference as you can see in an earlier test.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Latency is most important for Domino I/O.</span> <br /><span style=" font-size:10pt;font-family:sans-serif">Backup operations require high I/O transfer rates.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Cloud providers often provide different levels of disk performance.</span> <br /> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">Different storage classes with different disk types</span> </li><li><span style=" font-size:10pt;font-family:sans-serif">Sometimes performance is limited by to certain number of IOPS and thruput unless you pay extra</span> <div> <o:div>&nbsp;</o:div></div></li></ul><span style=" font-size:10pt;font-family:sans-serif">When choosing hardware you really need to balance performance vs. price.</span> <br /> <br /> <br /> <br /><tt><span style=" font-size:9pt">--- NVMe internal disk on an older notebook</span></tt><span style=" font-size:9pt"> &nbsp;---</span><tt><span style=" font-size:9pt"><br /> <br /> Disk &nbsp;Random 16.0 Read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 321.10 MB/s<br /> Disk &nbsp;Sequential 64.0 Read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 433.78 MB/s<br /> Disk &nbsp;Sequential 64.0 Write &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 97.33 MB/s<br /> Average Read Time with Sequential Writes &nbsp; &nbsp; &nbsp; 0.620 ms<br /> Latency: 95th Percentile &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.839 ms<br /> Latency: Maximum &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;14.415 ms<br /> Average Read Time with Random Writes &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.591 ms<br /> Total Run Time 00:00:40.08</span></tt><span style=" font-size:9pt"> </span><tt><span style=" font-size:9pt"><br /> <br /> <br /> --- NVMe internal disk on my new notebook</span></tt><span style=" font-size:9pt"> &nbsp;---</span><tt><span style=" font-size:9pt"><br /> <br /> Dramatic increase in read and write performance.</span></tt><span style=" font-size:9pt"> </span><tt><span style=" font-size:9pt"><br /> Another 10 times better latency as well!</span></tt><span style=" font-size:9pt"> </span><tt><span style=" font-size:9pt"><br /> <br /> Disk &nbsp;Random 16.0 Read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1508.35 MB/s<br /> Disk &nbsp;Sequential 64.0 Read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4414.35 MB/s<br /> Disk &nbsp;Sequential 64.0 Write &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1138.50 MB/s<br /> Average Read Time with Sequential Writes &nbsp; &nbsp; &nbsp; &nbsp;0.081 ms<br /> Latency: 95th Percentile &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.152 ms<br /> Latency: Maximum &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.208 ms<br /> Average Read Time with Random Writes &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.084 ms<br /> Total Run Time 00:00:07.33</span></tt><span style=" font-size:12pt"> </span> <br /> <br />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/picking-the-right-cloud-server-hardware.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/picking-the-right-cloud-server-hardware.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>NotesClass CertMgrUtils - Export / Import / Copy trusted roots into Domino Directory</title>
<pubDate>Wed, 25 Feb 2026 00:30:43 +0200</pubDate>
<description>
<![CDATA[ 
As part of an application I am working on, I wrote a Notes Class to manage TLS Credentials. What was of special interest is to copy trusted roots from CertStore into Domino Directory because it is n ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/notesclass-certmgrutils-export-import-copy-trusted-roots-into-domino-directory.htm</link>
<category>CertMgr</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/notesclass-certmgrutils-export-import-copy-trusted-roots-into-domino-directory.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/notesclass-certmgrutils-export-import-copy-trusted-roots-into-domino-directory.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> As part of an application I am working on, I wrote a Notes Class to manage TLS Credentials.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> What was of special interest is to copy trusted roots from CertStore into Domino Directory because it is needed for the NotesHTTPRequest in Lotus Script since 14.5 by default on servers.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There isn't any automation to import Trusted roots. But there is a simple way to import Trusted Roots into certstore.nsf by generating a request.<br /> The resulting document can be copied into the Domino directory -- But the document needs to be mangled a bit.</span><span style=" font-size:12pt"> <br /> </span><tt><span style=" font-size:10pt"><strong><br /> Function CopyTrustedRootToDominoDirectory (doc As NotesDocument, DominoDirectoryDb As NotesDatabase) As Integer</strong></span></tt><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> In addition to Trusted Root functionality I also added the export and import functionality as easy to use functions.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There is a C-API call designed explicitly for use via LS2CAPI used in a ScriptLib</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> All functionality requires an existing document in certstore.nsf</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I might add more functionality over time. </span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> </span><tt><span style=" font-size:10pt"><strong>Function CertStoreCreateExportableKey (doc As NotesDocument, ExportPassword As String) As String<br /> Function CertStoreImport (doc As NotesDocument, ImportFilePath As String, CurrentPassword As String, ExportPassword As String) As String</strong></span></tt><span style=" font-size:12pt"> </span><tt><span style=" font-size:10pt"><strong><br /> Function CertStoreExport (doc As NotesDocument, ExportFilePath As String, CurrentPassword As String, ExportPassword As String) As String</strong></span></tt><span style=" font-size:12pt"> </span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">For now it is mainly intended for my application. But if you need this type of functionality, I am happy to share the ScriptLib which contains the <strong>CertMgrUtils</strong> class.</span><span style=" font-size:12pt"> </span> <br />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/notesclass-certmgrutils-export-import-copy-trusted-roots-into-domino-directory.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/notesclass-certmgrutils-export-import-copy-trusted-roots-into-domino-directory.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Are you running Domino on Kubernetes?</title>
<pubDate>Mon, 23 Feb 2026 00:02:26 +0200</pubDate>
<description>
<![CDATA[ 
With the current new challenges for virtualization platforms to find an alternate solution for VMware work-loads Kubernetes (K8s) might get more attraction. Some virtualization platforms are even bu ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/are-you-running-domino-on-kubernetes.htm</link>
<category>Domino</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/are-you-running-domino-on-kubernetes.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/are-you-running-domino-on-kubernetes.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> With the current new challenges for virtualization platforms to find an alternate solution for VMware work-loads Kubernetes (K8s) might get more attraction.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Some virtualization platforms are even built on K8s. In those cases running a container vs. running a VM could become more interesting.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Running on K8s brings new challenges. A container also on K8s runs a Linux instance with a very thin Linux based virtualization layer.<br /> </span> <br /><span style=" font-size:10pt;font-family:sans-serif">A container scales to the limits of the underlying Linux platform.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> I wrote up a document with some details how to run in production -&gt; </span><a href="https://opensource.hcltechsw.com/domino-container/concept_run-production/"><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://opensource.hcltechsw.com/domino-container/concept_run-production/</u></span></a><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> The main challenge is the storage because Domino NSF files require a very stable and connection with low latency and many smaller I/Os.<br /> A standard cloud based K8s environment usually isn't a good fit for larger Domino servers.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> You really need special I/O tuned infrastructure. Like an enterprise SAN CSI connection. <br /> <br /> If you are running on K8s I would like to understand what type of infrastructure you are running in which scale and how you manage it.<br /> I am currently working on automated container and K8s deployments.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> <br /> <br /> What is of special interest is the storage back-end and backup.<br /> I am looking into different type of scenarios either using NFS based file targets or snapshot flows levering CSI driver snapshots.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Is anyone using Rancher as &nbsp;management interface?</span><span style=" font-size:12pt"> <br /> <br /> <br /> </span><img  alt="Image:Are you running Domino on Kubernetes?" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/are-you-running-domino-on-kubernetes.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/are-you-running-domino-on-kubernetes.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/are-you-running-domino-on-kubernetes.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Run workloads on the same IP using NGINX Stream and HTTP configurations in parallel</title>
<pubDate>Fri, 20 Feb 2026 20:53:53 +0200</pubDate>
<description>
<![CDATA[ 
Today I am working on a K8s lab environment where I only have one external IP. That means I can only have one NGINX instance listening to the public IP on 443. But what if I have different type of w ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm</link>
<category>NGINX</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm</guid>
<content:encoded><![CDATA[  <br /><span style=" font-size:10pt;font-family:sans-serif">Today I am working on a K8s lab environment where I only have one external IP.</span> <br /><span style=" font-size:10pt;font-family:sans-serif">That means I can only have one NGINX instance listening to the public IP on 443.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">But what if I have different type of work-loads.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Some need TLS termination like the Rancher admin interface</span> <br /><span style=" font-size:10pt;font-family:sans-serif">Others would work well to send the traffic dispatched on TCP level like Domino requesting it's own certificates via CertMgr</span> <br /> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Both are possible at the same time when thinking outside the box.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Every HTTPS request will first hit NGINX on the &quot;stream&quot; configuration</span> <br /><span style=" font-size:10pt;font-family:sans-serif">The stream configuration gets the SNI name using a SNI NGINX stream configuration</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">In case it matches a host that needs TLS termination the request is dispatched to a local port 8443 on the same NGINX instance</span> <br /><span style=" font-size:10pt;font-family:sans-serif">The NGINX instance on 8443 terminates the traffic and sends the request to the backend<br /> The backend is still HTTPS but with a private certificate</span> <br /> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">Using this type of setup you can use a single NGINX DaemonSet to dispatch all your traffic.</span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">The same kind of configuration would also work on Docker. But in my case this is sitting behind a K8s MetalLB to receive all the K8s cluster lab traffic.</span> <br /> <br /> <br /><img  alt="Image:Run workloads on the same IP using NGINX Stream and HTTP configurations in parallel" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm/content/M2?OpenElement" /> <br /> <br /> <br /><img  alt="Image:Run workloads on the same IP using NGINX Stream and HTTP configurations in parallel" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm/content/M3?OpenElement" /> <br /> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">&nbsp;</span><span style=" font-size:10pt"> </span> <br /> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif">&nbsp;</span>  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/run-workloads-on-the-same-ip-using-nginx-stream-and-http-configurations-in-parallel.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Domino 14.5 is not supported on Windows Core Server</title>
<pubDate>Thu, 19 Feb 2026 15:54:24 +0200</pubDate>
<description>
<![CDATA[ 
Microsoft offers two different installation modes for Windows Servers for the two different editions (Standard &amp; Datacenter). &quot;Windows Core server&quot; an installation mode without full ...
 ]]>
</description>
<link>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5-is-not-supported-on-windows-core-server.htm</link>
<category>Domino</category>
<dc:creator>Daniel Nashed</dc:creator>
<comments>https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5-is-not-supported-on-windows-core-server.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5-is-not-supported-on-windows-core-server.htm</guid>
<content:encoded><![CDATA[ <span style=" font-size:10pt;font-family:sans-serif"><br /> Microsoft offers two different installation modes for Windows Servers for the two different editions (Standard &amp; Datacenter).</span><span style=" font-size:12pt"> </span> <br /> <br /> <ul> <li><span style=" font-size:10pt;font-family:sans-serif">&quot;Windows Core server&quot; an installation mode without full graphically UI</span><span style=" font-size:12pt"> </span> </li><li><span style=" font-size:10pt;font-family:sans-serif">The full server installation with a full administration GUI</span></li></ul><span style=" font-size:10pt;font-family:sans-serif"><br /> Windows Core Server Standard Edition is meanwhile the default when you run the installer.<br /> But even the Domino System Requirements does not explicitly exclude Windows Core server it is <u>not a supported configuration</u> yet.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> There is an AHA idea to vote for, which only has 7 votes today. <br /> </span><span style=" font-size:12pt;color:blue"><u><br /> </u></span><a href="https://domino-ideas.hcltechsw.com/ideas/DOMINO-I-2524"><span style=" font-size:10pt;color:blue;font-family:sans-serif"><u>https://domino-ideas.hcltechsw.com/ideas/DOMINO-I-2524</u></span></a><span style=" font-size:12pt"> </span> <br /> <br /><span style=" font-size:10pt;font-family:sans-serif"><br /> I am not sure if nobody has the requirement or nobody knows it is not supported yet.</span><span style=" font-size:12pt"><br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> Windows Core Server needs less resources and is the recommended installation mode by German BSI because also from security point of view.<br /> Specially for smaller servers since Windows 2025 it is important to reduce the footprint of the Windows server, because it tends to use more memory out of the box.</span><span style=" font-size:12pt"> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> It comes with a simple configuration menu for the most important tasks and works well with Domino.<br /> The installer, the classical configuration wizard and also the Jconsole GUI just works unchanged.<br /> <br /> Only the service.exe doesn't launch. But to start and stop services you can either use sc command line or use the services part of taskmgr.<br /> RDP works as well. But Windows 2025 also comes with OpenSSH installed and you can just enable for administration via a SSH session -- But that's maybe something for another post.</span><span style=" font-size:12pt"> <br /> </span><span style=" font-size:10pt;font-family:sans-serif"><br /> This post is to raise awareness and to see if someone is currently using it or plans to use it.<br /> <br /> If you have a requirement to install it, please vote for my AHA idea.<br /> </span><span style=" font-size:12pt"><br /> <br /> </span><img  alt="Image:Domino 14.5 is not supported on Windows Core Server" border="0" src="https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5-is-not-supported-on-windows-core-server.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> https://blog.nashcom.de/nashcomblog.nsf/dxcomments/domino-14.5-is-not-supported-on-windows-core-server.htm</wfw:commentRss>
<wfw:comment> https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.5-is-not-supported-on-windows-core-server.htm?opendocument&amp;comments</wfw:comment>
</item>
</channel></rss>
