<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lacme/tests, branch debian/latest</title>
<subtitle>Small ACME client written with process isolation and minimal privileges in mind</subtitle>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/'/>
<entry>
<title>Fix test suite.</title>
<updated>2024-06-13T15:38:40+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2024-06-13T13:54:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=98e4397f5330245cb7f8a21054ab078c4d0bba82'/>
<id>98e4397f5330245cb7f8a21054ab078c4d0bba82</id>
<content type='text'>
Since we don't pin staging intermediate certificates anymore we drop the
test where the CA bundle contains only intermediates.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we don't pin staging intermediate certificates anymore we drop the
test where the CA bundle contains only intermediates.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix post-issuance validation logic.</title>
<updated>2024-06-13T14:48:05+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2024-06-13T01:32:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=9cb882a468843bf8ce9598de8769d5baaaaae3ea'/>
<id>9cb882a468843bf8ce9598de8769d5baaaaae3ea</id>
<content type='text'>
Rather than adding intermediates in the certificate bundle we now
validate the leaf certificate with intermediates as untrusted (used for
chain building only).  Only the root certificates are used as trust
anchor.

Not pining intermediate certificates anymore is in line with Let's
Encrypt's latest recommendations:

    Rotating the set of intermediates we issue from helps keep the
    Internet agile and more secure.  It encourages automation and
    efficiency, and discourages outdated practices like key pinning.
    “Key Pinning” is a practice in which clients — either ACME clients
    getting certificates for their site, or apps connecting to their own
    backend servers — decide to trust only a single issuing intermediate
    certificate rather than delegating trust to the system trust store.
    Updating pinned keys is a manual process, which leads to an
    increased risk of errors and potential business continuity failures.
    — https://letsencrypt.org/2024/03/19/new-intermediate-certificates:
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than adding intermediates in the certificate bundle we now
validate the leaf certificate with intermediates as untrusted (used for
chain building only).  Only the root certificates are used as trust
anchor.

Not pining intermediate certificates anymore is in line with Let's
Encrypt's latest recommendations:

    Rotating the set of intermediates we issue from helps keep the
    Internet agile and more secure.  It encourages automation and
    efficiency, and discourages outdated practices like key pinning.
    “Key Pinning” is a practice in which clients — either ACME clients
    getting certificates for their site, or apps connecting to their own
    backend servers — decide to trust only a single issuing intermediate
    certificate rather than delegating trust to the system trust store.
    Updating pinned keys is a manual process, which leads to an
    increased risk of errors and potential business continuity failures.
    — https://letsencrypt.org/2024/03/19/new-intermediate-certificates:
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass `-in /dev/stdin` option to openssl(1) to avoid warning with recent versions.</title>
<updated>2024-06-13T13:41:12+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2024-06-13T01:33:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=bf4d2d13ffcd894c6e7765dbd366f1163c69c9e1'/>
<id>bf4d2d13ffcd894c6e7765dbd366f1163c69c9e1</id>
<content type='text'>
OpenSSL 3.2 from Debian sid spews

    Warning: Reading certificate from stdin since no -in or -new option is given

without an explicit `-in /dev/stdin`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenSSL 3.2 from Debian sid spews

    Warning: Reading certificate from stdin since no -in or -new option is given

without an explicit `-in /dev/stdin`.
</pre>
</div>
</content>
</entry>
<entry>
<title>t/cert-extensions: Fix tr(1) range syntax.</title>
<updated>2024-06-13T13:41:12+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2024-06-13T12:30:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=568656b1fcb60d451b4a5313876ef0b96ae8bbfd'/>
<id>568656b1fcb60d451b4a5313876ef0b96ae8bbfd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>t/cert-install: Ensure the subjectName is lowercase.</title>
<updated>2024-06-13T13:40:56+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2024-06-13T01:33:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=a41444b8b1fe5349a4a33c45f1e96036845609bb'/>
<id>a41444b8b1fe5349a4a33c45f1e96036845609bb</id>
<content type='text'>
Domain names are case insensitive so it shouldn't matter, but Let's
Encrypt (staging) ACME server fails with

        400 Bad Request (Invalid identifiers requested :: Cannot issue for "YXJCTT7S6K2RQLVO.lacme-test.guilhem.org": Domain name contains an invalid character)

if the sub-domain part of the subjectName is left all-caps.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Domain names are case insensitive so it shouldn't matter, but Let's
Encrypt (staging) ACME server fails with

        400 Bad Request (Invalid identifiers requested :: Cannot issue for "YXJCTT7S6K2RQLVO.lacme-test.guilhem.org": Domain name contains an invalid character)

if the sub-domain part of the subjectName is left all-caps.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/account-encrypted-*: Set TERM="linux".</title>
<updated>2023-04-26T15:41:24+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2023-04-26T15:41:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=f84716c064312dd9dc0d149f0ec7a12f5c88c3af'/>
<id>f84716c064312dd9dc0d149f0ec7a12f5c88c3af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Point stretch's archive URL to archive.d.o.</title>
<updated>2023-04-25T09:59:39+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2023-04-25T09:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=5d9d1ce570c0fa613e1dc2345047a0ff95f781c5'/>
<id>5d9d1ce570c0fa613e1dc2345047a0ff95f781c5</id>
<content type='text'>
See https://lists.debian.org/msgid-search/87tty79lwo.fsf@43-1.org .
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See https://lists.debian.org/msgid-search/87tty79lwo.fsf@43-1.org .
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust test suite against current Let's Encrypt staging environment.</title>
<updated>2023-01-25T02:23:45+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2023-01-25T02:12:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=cb0b301e7a62a71d9e4454f9f7af5358c857c48c'/>
<id>cb0b301e7a62a71d9e4454f9f7af5358c857c48c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>lacme: pass a temporary JSON file with the client configuration to the internal client.</title>
<updated>2021-02-25T09:30:22+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2021-02-25T00:41:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=9a8f705eddd18ccc9a24fe0e7efe6b5a87b2be09'/>
<id>9a8f705eddd18ccc9a24fe0e7efe6b5a87b2be09</id>
<content type='text'>
So it doesn't have to parse the INI file again.  Also, while lacme.conf
is world-readable by default, one might restrict permissions and add
private information in there, not realizing that everything, including
comments, will be readable by the client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So it doesn't have to parse the INI file again.  Also, while lacme.conf
is world-readable by default, one might restrict permissions and add
private information in there, not realizing that everything, including
comments, will be readable by the client.
</pre>
</div>
</content>
</entry>
<entry>
<title>lacme: Add 'owner' resp. 'mode' as (prefered) alias for 'chown' resp. 'chmod'.</title>
<updated>2021-02-24T20:32:06+00:00</updated>
<author>
<name>Guilhem Moulin</name>
<email>guilhem@fripost.org</email>
</author>
<published>2021-02-24T20:24:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.guilhem.org/lacme/commit/?id=c6a4aaa6128d55ba5f7f3cd2bd75f789f69ae407'/>
<id>c6a4aaa6128d55ba5f7f3cd2bd75f789f69ae407</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
