<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Golang on Morten Linderud</title>
		<link>https://linderud.dev/tags/golang/</link>
		<description>Recent content in Golang on Morten Linderud</description>
		<generator>Hugo</generator>
		<language>nb</language>
		
		
		
		
			<lastBuildDate>Wed, 04 Oct 2023 19:00:00 +0200</lastBuildDate>
		
			<atom:link href="https://linderud.dev/tags/golang/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Store ssh keys inside the TPM: ssh-tpm-agent</title>
				<link>https://linderud.dev/blog/store-ssh-keys-inside-the-tpm-ssh-tpm-agent/</link>
				<pubDate>Wed, 04 Oct 2023 19:00:00 +0200</pubDate>
				<guid>https://linderud.dev/blog/store-ssh-keys-inside-the-tpm-ssh-tpm-agent/</guid>
				<description>&lt;p&gt;After writing &lt;a href=&#34;https://github.com/Foxboron/age-plugin-tpm&#34;&gt;age-plugin-tpm&lt;/a&gt; a friend of mine at the &lt;a href=&#34;https://hackeriet.no&#34;&gt;hackerspace&lt;/a&gt; was super&#xA;excited to &lt;em&gt;finally&lt;/em&gt; have easy file encryption with TPM sealed keys, all without&#xA;having to rely on &lt;code&gt;gnupg&lt;/code&gt;. &amp;ldquo;This is great!&amp;rdquo; he said.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;I wish I could have my SSH keys sealed in a TPM just as easily&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;We should have left it at that.&lt;/p&gt;&#xA;&lt;p&gt;I shouldn&amp;rsquo;t have replied with a random assortment&#xA;of facts like &amp;ldquo;I know &lt;a href=&#34;https://github.com/google/go-tpm&#34;&gt;&lt;code&gt;google/go-tpm&lt;/code&gt;&lt;/a&gt; now&amp;rdquo;, or &amp;ldquo;but Go has a &lt;a href=&#34;https://pkg.go.dev/golang.org/x/crypto/ssh/agent&#34;&gt;&lt;code&gt;ssh-agent&lt;/code&gt; protocol&lt;/a&gt; implementation&amp;rdquo; followed-up with &amp;ldquo;Filippo has already implemented &lt;a href=&#34;https://github.com/FiloSottile/yubikey-agent/&#34;&gt;&lt;code&gt;yubikey-agent&lt;/code&gt;&lt;/a&gt;, it can&amp;rsquo;t be that hard&amp;rdquo;. So I wound up writing a new ssh agent.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Store age identities inside the TPM: age-plugin-tpm</title>
				<link>https://linderud.dev/blog/store-age-identities-inside-the-tpm-age-plugin-tpm/</link>
				<pubDate>Mon, 17 Jul 2023 18:00:00 +0200</pubDate>
				<guid>https://linderud.dev/blog/store-age-identities-inside-the-tpm-age-plugin-tpm/</guid>
				<description>&lt;p&gt;The past year I have been trying to learn more about the Trusted Platform Module&#xA;(TPM). This is a small device found on most modern laptops that has several cool&#xA;security features like key creation, sealing and attestation, however I have&#xA;been struggling to find a small project where I can learn more about it.&lt;/p&gt;&#xA;&lt;p&gt;To my surprised I learned a couple of months ago that nobody has written a TPM&#xA;plugin for age!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Golang crypto/ecdh and the TPM</title>
				<link>https://linderud.dev/blog/golang-crypto/ecdh-and-the-tpm/</link>
				<pubDate>Mon, 24 Apr 2023 20:00:00 +0200</pubDate>
				<guid>https://linderud.dev/blog/golang-crypto/ecdh-and-the-tpm/</guid>
				<description>&lt;p&gt;I have lately been trying to learn more about the Trusted Platform Module (TPM)&#xA;as they are capable of key creation and sealing secrets in a secure manner. They&#xA;are common hardware these days and make for a reasonable ways to store secrets.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/FiloSottile/age&#34;&gt;&lt;code&gt;age&lt;/code&gt;&lt;/a&gt; is a file encryption/decryption tool&#xA;from Filippo Valsorda which a lot of people have been using to replace GnuPG for&#xA;things like &lt;code&gt;password-store&lt;/code&gt;. It has a few plugins doing things like storing&#xA;keys on Yubikey, Trezor hardware wallets or the Apple Secure Enclave, however&#xA;it doesn&amp;rsquo;t have a TPM plugin. I saw the opportunity to write something that is&#xA;capable of utilizing the TPM.&lt;/p&gt;</description>
			</item>
			<item>
				<title>coredumpctl, delve and debug packages for Go</title>
				<link>https://linderud.dev/blog/coredumpctl-delve-and-debug-packages-for-go/</link>
				<pubDate>Sat, 19 Nov 2022 19:00:00 +0200</pubDate>
				<guid>https://linderud.dev/blog/coredumpctl-delve-and-debug-packages-for-go/</guid>
				<description>&lt;p&gt;I have spent a fair amount of time hacking on debug packages the past two years.&#xA;This work resulted in Arch Linux announcing the public &lt;a href=&#34;https://archlinux.org/news/debug-packages-and-debuginfod/&#34;&gt;debuginfod&#xA;server&lt;/a&gt; which allows&#xA;users to download symbols and source code to debug software running on their&#xA;system.&lt;/p&gt;&#xA;&lt;p&gt;With this service users don&amp;rsquo;t need to figure out what the debug packages are&#xA;called, installing them and maybe removing it afterwards. It also saves a fair&#xA;amount of data you need to download. Generally just a great service with a good&#xA;list of supported clients.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
