<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-key-forge/src/macros.rs, branch arti-v1.8.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.8.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.8.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-09-30T20:00:51Z</updated>
<entry>
<title>Lay foundations for RSA keys in keystore.</title>
<updated>2025-09-30T20:00:51Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-09-30T18:44:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=073a6a96873d953cd4e8cc5018b593e3aa04d83a'/>
<id>urn:sha1:073a6a96873d953cd4e8cc5018b593e3aa04d83a</id>
<content type='text'>
This currently can't be used due to upstream limitations in the ssh_key
crate, which will be removed likely in the next release. In the
meantime, we can put in all the groundwork.
</content>
</entry>
<entry>
<title>tor-llcrypto: Rename rsa::PrivateKey to rsa::KeyPair.</title>
<updated>2025-09-08T21:12:10Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-09-08T21:10:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e3081529a0aa68bf74554b3a176717b4ba4c8c41'/>
<id>urn:sha1:e3081529a0aa68bf74554b3a176717b4ba4c8c41</id>
<content type='text'>
As discussed with gabi on IRC today.
</content>
</entry>
<entry>
<title>tor-key-forge: Add RSA key types.</title>
<updated>2025-09-08T21:07:35Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-09-08T20:08:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=058455138a88141670b66a253fb5b0c124c30f40'/>
<id>urn:sha1:058455138a88141670b66a253fb5b0c124c30f40</id>
<content type='text'>
Some things I'm still considering here:

* We may want to define a tor_llcrypto::pk::rsa::Signature newtype.
* We likely want to rename tor_llcrypto::pk::rsa::PrivateKey to RsaKeypair.
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>Use an EntropicRng trait to enforce key generation rules.</title>
<updated>2025-03-24T19:11:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-20T15:09:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8a33afe155e9bd29d9302b4b44dd5843d00866db'/>
<id>urn:sha1:8a33afe155e9bd29d9302b4b44dd5843d00866db</id>
<content type='text'>
We want to require that whenever we generate a key that's persistent
(stored in KeyMgr), it's going to be made from a stronger-than-usual
Rng.  This trait helps us enforce that.

We also add a FakeEntropicRng struct to use for testing.

Note that this turned up a case that we'd missed, which required
an internal change in tor-hsservice.
</content>
</entry>
<entry>
<title>squash! Upgrade rand dependency to 0.9.</title>
<updated>2025-03-18T16:09:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-18T13:01:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f8993c22c2b86010e4fd8b5169ef0ab83f8c754'/>
<id>urn:sha1:2f8993c22c2b86010e4fd8b5169ef0ab83f8c754</id>
<content type='text'>
- `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
</content>
</entry>
<entry>
<title>Wrap ed25519-dalek types.</title>
<updated>2025-03-18T12:45:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-17T18:31:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d50e945a5286d89d75892878ff3aa9ed7ebed1f7'/>
<id>urn:sha1:d50e945a5286d89d75892878ff3aa9ed7ebed1f7</id>
<content type='text'>
With this change, we'll no longer need to expose the types from
dalek-cryptography as part of our API, and we'll have more freedom
to switch ed25519 implementations, or to upgrade to a newer
`rand` ahead of their schedule.

Unlike with x25519-dalek, I had to tweak the API a bit: There's no
way to get a &amp;PublicKey out of a Keypair now, and implementing the
old ed25519-dalek traits seemed unnecessary.
</content>
</entry>
<entry>
<title>tor-key-forge: Split out ItemType as a separate trait.</title>
<updated>2025-01-13T19:22:36Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-10T20:27:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d45ab843b6506dfbfea456ed585c34f60100a280'/>
<id>urn:sha1:d45ab843b6506dfbfea456ed585c34f60100a280</id>
<content type='text'>
This is necessary because `ParsedCert`s will not be `EncodableItem`s.
This is because we cannot (and don't want to) write certificates that
have not yet been validated to the keystore. They do need to be
retrievable from the keystore though, so we also change `ErasedKey`
to be `Box&lt;dyn ItemType&gt;` instead.
</content>
</entry>
<entry>
<title>tor-keymgr: Replace as_ssh_key_data with as_keystore_item.</title>
<updated>2024-12-04T16:42:06Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-21T16:34:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7e0a9ac51e1c59e009ea7f530e24e6b862dde45b'/>
<id>urn:sha1:7e0a9ac51e1c59e009ea7f530e24e6b862dde45b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-key-forge: Replace EncodableItem::key_type() with item_type().</title>
<updated>2024-12-04T16:42:06Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-21T15:08:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b4a3ce68990d9309b99c90a5012bb45c278ccdfc'/>
<id>urn:sha1:b4a3ce68990d9309b99c90a5012bb45c278ccdfc</id>
<content type='text'>
This function now returns a `KeystoreItemType`, enabling us to represent
certs as `EncodableItem`s.
</content>
</entry>
</feed>
