41554 blogs · [ { "id": "01a0874a-8f2e-7179-bc51-0c09890f26ab", "title": "Adding Two Factor Authentication to Android (LineageOS)", "url": "https://blog.hansenpartnership.com/adding-two-factor-authentication-to-android-lineageos/", "published_at": "2026-01-22T17:17:02+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c09892949d4", "title": "Figuring out how ipsec transforms work in Linux", "url": "https://blog.hansenpartnership.com/figuring-out-how-ipsec-transforms-work-in-linux/", "published_at": "2024-03-21T15:42:31+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c0989fbbeb9", "title": "Securing a Rooted Android Phone", "url": "https://blog.hansenpartnership.com/securing-a-rooted-android-phone/", "published_at": "2024-01-29T15:04:19+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098a39efce", "title": "Debugging Android Early Boot Failures", "url": "https://blog.hansenpartnership.com/debugging-android-early-boot-failures/", "published_at": "2024-01-15T22:05:06+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098a6bc300", "title": "Securing the Google SIP Stack", "url": "https://blog.hansenpartnership.com/securing-the-google-sip-stack/", "published_at": "2023-12-30T15:58:35+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098b5c47f7", "title": "Solving the Looming Developer Liability Problem", "url": "https://blog.hansenpartnership.com/solving-the-looming-developer-liability-problem/", "published_at": "2023-12-11T17:27:22+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098c18e5dd", "title": "Fixing our Self Defeating Licence Compatibility Problems in Open Source", "url": "https://blog.hansenpartnership.com/fixing-our-self-defeating-licence-compatibility-problems-in-open-source/", "published_at": "2023-04-28T13:27:12+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098ce1ba71", "title": "Converting Engines to OpenSSL-3 Providers", "url": "https://blog.hansenpartnership.com/converting-engines-to-openssl-3-providers/", "published_at": "2023-03-24T20:48:28+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098d2cf18a", "title": "Using SIP to Replace Mobile and Land Lines", "url": "https://blog.hansenpartnership.com/using-sip-to-replace-mobile-and-land-lines/", "published_at": "2023-01-08T19:25:52+00:00" }, { "id": "01a0874a-8f2e-7179-bc51-0c098df798e4", "title": "Paying Maintainers isn’t a Magic Bullet", "url": "https://blog.hansenpartnership.com/paying-maintainers-isnt-a-magic-bullet/", "published_at": "2022-09-28T20:16:23+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eab2f225f", "title": "Linux Plumbers Conference Matrix and BBB integration", "url": "https://blog.hansenpartnership.com/linux-plumbers-conference-matrix-and-bbb-integration/", "published_at": "2021-09-30T16:24:55+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eab9b1272", "title": "The Community Corrosive Effects of CLAs", "url": "https://blog.hansenpartnership.com/the-community-corrosive-effects-of-clas/", "published_at": "2021-05-13T22:51:58+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eac260d4b", "title": "Owning Your Own Copyrights in Open Source", "url": "https://blog.hansenpartnership.com/owning-your-own-copyrights-in-open-source/", "published_at": "2021-03-30T23:18:35+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eac345a33", "title": "Papering Over our TPM 2.0 TSS Divisions", "url": "https://blog.hansenpartnership.com/papering-over-our-tpm-2-0-tss-divisions/", "published_at": "2021-03-12T23:59:31+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eacb1c58e", "title": "Deploying Encrypted Images for Confidential Computing", "url": "https://blog.hansenpartnership.com/deploying-encrypted-images-for-confidential-computing/", "published_at": "2020-12-31T22:40:15+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429ead08f03c", "title": "Building Encrypted Images for Confidential Computing", "url": "https://blog.hansenpartnership.com/building-encrypted-images-for-confidential-computing/", "published_at": "2020-12-23T18:10:08+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eade886a6", "title": "Creating a Home IPv6 Network", "url": "https://blog.hansenpartnership.com/creating-a-home-ipv6-network/", "published_at": "2020-09-17T22:23:20+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eae50130e", "title": "Lessons from the GNOME Patent Troll Incident", "url": "https://blog.hansenpartnership.com/lessons-from-the-gnome-patent-troll-incident/", "published_at": "2020-09-03T16:53:19+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eaf2e0d6d", "title": "Why Ethical Open Source Really Isn’t", "url": "https://blog.hansenpartnership.com/why-ethical-open-source-really-isnt/", "published_at": "2019-10-05T22:19:28+00:00" }, { "id": "01a0e4bc-80b9-7247-9d16-429eafc15012", "title": "Retro Engineering: Updating a Nexus One for the modern world", "url": "https://blog.hansenpartnership.com/retro-engineering-updating-a-nexus-one-for-the-modern-world/", "published_at": "2019-10-01T23:17:49+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dcd6ce694", "title": "The Mythical Economic Model of Open Source", "url": "https://blog.hansenpartnership.com/the-mythical-economic-model-of-open-source/", "published_at": "2019-09-08T09:35:47+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dce40c7d2", "title": "A Roadmap for Eliminating Patents in Open Source", "url": "https://blog.hansenpartnership.com/a-roadmap-for-eliminating-patents-in-open-source/", "published_at": "2019-03-30T21:32:23+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dcefc5985", "title": "Webauthn in Linux with a TPM via the HID gadget", "url": "https://blog.hansenpartnership.com/webauthn-in-linux-with-a-tpm-via-the-hid-gadget/", "published_at": "2019-03-23T21:58:47+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dcfd96bdc", "title": "Using TPM Based Client Certificates on Firefox and Apache", "url": "https://blog.hansenpartnership.com/using-tpm-based-client-certificates-on-firefox-and-apache/", "published_at": "2019-03-06T20:21:18+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd07f3cc6", "title": "Measuring the Horizontal Attack Profile of Nabla Containers", "url": "https://blog.hansenpartnership.com/measuring-the-horizontal-attack-profile-of-nabla-containers/", "published_at": "2018-07-15T05:54:22+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd17bd5fc", "title": "A New Method of Containment: IBM Nabla Containers", "url": "https://blog.hansenpartnership.com/a-new-method-of-containment-ibm-nabla-containers/", "published_at": "2018-07-15T05:54:06+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd20aa3da", "title": "Containers and Cloud Security", "url": "https://blog.hansenpartnership.com/containers-and-cloud-security/", "published_at": "2018-06-21T05:31:17+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd2ff7422", "title": "Why Microsoft is a good steward for GitHub", "url": "https://blog.hansenpartnership.com/why-microsoft-is-a-good-steward-for-github/", "published_at": "2018-06-04T18:31:49+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd33985ac", "title": "GPL as the Best Licence – Governance and Philosophy", "url": "https://blog.hansenpartnership.com/gpl-as-the-best-licence-governance-and-philosophy/", "published_at": "2018-01-10T16:38:53+00:00" }, { "id": "01a0e4c8-621b-70ad-8feb-8d6dd3e56a81", "title": "GPL as the best licence – Community, Code and Licensing", "url": "https://blog.hansenpartnership.com/gpl-as-the-best-licence-community-code-and-licensing/", "published_at": "2018-01-03T23:43:07+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08c13b2f4", "title": "Using Elliptic Curve Cryptography with TPM2", "url": "https://blog.hansenpartnership.com/using-elliptic-curve-cryptography-with-tpm2/", "published_at": "2017-10-14T22:52:52+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08cbb478c", "title": "Using letsencrypt certificates with DANE", "url": "https://blog.hansenpartnership.com/using-letsencrypt-certificates-with-dane/", "published_at": "2017-02-12T18:55:58+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08ce5d517", "title": "TPM2 and Linux", "url": "https://blog.hansenpartnership.com/tpm2-and-linux/", "published_at": "2017-01-03T00:55:23+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08d3cfacd", "title": "TPM enabling gnome-keyring", "url": "https://blog.hansenpartnership.com/tpm-enabling-gnome-keyring/", "published_at": "2016-12-10T19:48:52+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08e29e020", "title": "Using Your TPM as a Secure Key Store", "url": "https://blog.hansenpartnership.com/using-your-tpm-as-a-secure-key-store/", "published_at": "2016-12-05T16:41:59+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08eb973b9", "title": "Home Automation: Coping with Insecurity in the IoT", "url": "https://blog.hansenpartnership.com/home-automation-coping-with-insecurity-in-the-iot/", "published_at": "2016-10-23T19:20:15+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08ef36746", "title": "Unprivileged Build Containers", "url": "https://blog.hansenpartnership.com/unprivileged-build-containers/", "published_at": "2016-04-27T18:52:24+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf08fa65ef7", "title": "Are GPLv2 and CDDL incompatible?", "url": "https://blog.hansenpartnership.com/are-gplv2-and-cddl-incompatible/", "published_at": "2016-02-23T03:08:00+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf0908ef636", "title": "efitools arm 32 bit build fixed", "url": "https://blog.hansenpartnership.com/efitools-arm-32-bit-build-fixed/", "published_at": "2016-02-15T16:09:04+00:00" }, { "id": "01a0e4db-6f8b-733c-aa3a-acf090c75c57", "title": "efitools for arm released", "url": "https://blog.hansenpartnership.com/efitools-for-arm-released/", "published_at": "2016-02-14T17:47:19+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62d8a27826", "title": "Constructing Architecture Emulation Containers", "url": "https://blog.hansenpartnership.com/constructing-architecture-emulation-containers/", "published_at": "2016-02-13T23:12:26+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62d8eea9c0", "title": "A Modest Proposal on the DCO", "url": "https://blog.hansenpartnership.com/a-modest-proposal-on-the-dco/", "published_at": "2016-01-02T20:26:18+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62d9316d8f", "title": "The DCO, Patents and OpenStack", "url": "https://blog.hansenpartnership.com/the-dco-patents-and-openstack/", "published_at": "2015-12-21T23:18:29+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62d9bfe950", "title": "Respect and the Linux Kernel Mailing Lists", "url": "https://blog.hansenpartnership.com/respect-and-the-linux-kernel-mailing-lists/", "published_at": "2015-10-08T03:47:18+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62da07ef3a", "title": "DNSSEC, DANE and the failure of X.509", "url": "https://blog.hansenpartnership.com/dnssec-dane-and-the-failure-of-x-509/", "published_at": "2015-05-30T19:10:54+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62daa165ee", "title": "Getting your old Sync Server to work with New Firefox", "url": "https://blog.hansenpartnership.com/getting-your-old-sync-server-to-work-with-new-firefox/", "published_at": "2015-04-23T02:06:35+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62db591a83", "title": "Squirrelmail and imaps", "url": "https://blog.hansenpartnership.com/squirrelmail-and-imaps/", "published_at": "2015-04-18T00:06:23+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62db89eaae", "title": "Anatomy of the UEFI Boot Sequence on the Intel Galileo", "url": "https://blog.hansenpartnership.com/anatomy-of-the-uefi-boot-sequence-on-the-intel-galileo/", "published_at": "2015-02-10T00:58:11+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62dbb192a5", "title": "Secure Boot on the Intel Galileo", "url": "https://blog.hansenpartnership.com/secure-boot-on-the-intel-galileo/", "published_at": "2015-01-27T03:20:55+00:00" }, { "id": "01a0e4ec-ce80-72e7-bbd0-6c62dbbbfc04", "title": "Adventures in Embedded UEFI with Intel Galileo", "url": "https://blog.hansenpartnership.com/adventures-in-embedded-uefi-with-intel-galileo/", "published_at": "2015-01-25T00:44:33+00:00" } ] posts Claim your blog
Back to blog.hansenpartnership.com
Blog · corpus.blog/blogs/blog.hansenpartnership.com/posts

blog.hansenpartnership.com

blog.hansenpartnership.com

2026

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015