<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-relay-crypto/src/pk.rs, branch arti-v1.5.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.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-07T15:28:36Z</updated>
<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>tor-relay-crypto: Rename RelaySigningKeypairSpecifier's timestamp to valid_until.</title>
<updated>2024-10-31T14:34:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-30T18:23:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7a0a41e2eed85065fcb614325f6fab838aa397e3'/>
<id>urn:sha1:7a0a41e2eed85065fcb614325f6fab838aa397e3</id>
<content type='text'>
As per our discussion in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2577#note_3099356
</content>
</entry>
<entry>
<title>tor-relay-crypto: Add tests for relay key specifier serialization.</title>
<updated>2024-10-31T14:34:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-23T11:01:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=04caca755d5294f83a571ccebeaa9b55fe13c7a7'/>
<id>urn:sha1:04caca755d5294f83a571ccebeaa9b55fe13c7a7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-relay-crypto: Add a denotator to RelaySigningKeypairSpecifier.</title>
<updated>2024-10-31T14:34:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-23T11:00:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8357c7c6fe01fd4c59e353a39ff59642bff0c19a'/>
<id>urn:sha1:8357c7c6fe01fd4c59e353a39ff59642bff0c19a</id>
<content type='text'>
This will enable us to store more than one `K_relaysign_ed` in the
keystore.

Closes #1692
</content>
</entry>
<entry>
<title>tor-relay-crypto: Add a specifier for the public part of the identity keypair.</title>
<updated>2024-10-31T14:34:01Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-23T10:27:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f8e5b7452cd97c58bed91707cf42f29b3b9754de'/>
<id>urn:sha1:f8e5b7452cd97c58bed91707cf42f29b3b9754de</id>
<content type='text'>
We'll eventually need this specifier (for example, if the
`KS_relayid_ed` private key stored offline, the public part of the
keypair will be stored in the online keystore, and will be retrievable
using the new `RelayIdentityPublicKeySpecifier` specifier).
</content>
</entry>
<entry>
<title>tor-relay-crypto: Fix typo in doc comment.</title>
<updated>2024-10-31T14:29:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-23T10:23:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d0037dcc67aa7e3d34f18d5c8c7c40ac87b5718'/>
<id>urn:sha1:3d0037dcc67aa7e3d34f18d5c8c7c40ac87b5718</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-relay-crypto: Use the KS_ prefix for RelayIdentityKeySpecifier.</title>
<updated>2024-10-31T14:29:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-23T10:20:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a4f2ccf9446c25af346274122512ae457b52693a'/>
<id>urn:sha1:a4f2ccf9446c25af346274122512ae457b52693a</id>
<content type='text'>
According to its docs, `RelayIdentityKeySpecifier` was meant to be the
key specifier for the relay identity keypair, so its role prefix should
be `KS_`.

This also renames `RelayIdentityKeySpecifier` to
`RelayIdentityKeypairSpecifier` for clarity (we're about to add another
specifier here, for the public relay identity key).
</content>
</entry>
<entry>
<title>tor-relay-crypto: Temporarily comment out RelaySigningKeySpecifier.</title>
<updated>2024-10-14T17:50:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-10-14T17:50:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b2d726951d1e73f2360710681ce19f5151644a0d'/>
<id>urn:sha1:b2d726951d1e73f2360710681ce19f5151644a0d</id>
<content type='text'>
The `RelaySigningKeySpecifier` is currently defined as:
```rust
#[non_exhaustive]
#[derive(Deftly, PartialEq, Debug, Constructor)]
#[derive_deftly(KeySpecifier)]
#[deftly(prefix = "relay")]
#[deftly(role = "KP_relaysign_ed")]
#[deftly(summary = "Relay medium-term signing keypair")]
/// The key sepcifier of the relay medium-term signing key (RelaySigningKeypair)
pub struct RelaySigningKeySpecifier;
```

This means there can only be a single `relaysign_ed` key with an
`ArtiPath` of the form `relay/KP_relaysign_ed`. This is a problem,
because relays storing their identity key offline will want to generate
a number of `relaysign_ed` keys ahead of time, so we need the keystores
to be able to contain multiple such keys. We will need their `ArtiPath`
to encode a variable component (for example, a timestamp).

We also need to teach `KeyMgr` to retrieve such keys (`KeyMgr::get`
should return the first key that has a valid and timely certificate).

This will involve extending the `KeySpecifier` trait with a function for
obtaining the `KeySpecifier` of the certificate of the key, if there is
one.

For now, let's comment it out and rethink its `ArtiPath` as part of
#1692.
</content>
</entry>
<entry>
<title>tor-key-forge: encapsulate `define_ed25519_keypair` macro deps</title>
<updated>2024-09-18T19:27:33Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2024-09-18T19:21:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6a9b0ee6f5e02b794174b9766d3eb21c73562ee7'/>
<id>urn:sha1:6a9b0ee6f5e02b794174b9766d3eb21c73562ee7</id>
<content type='text'>
This re-exports the types/traits needed by the `define_ed25519_keypair`
macro so that the macro caller doesn't need to import a bunch of extra
packages in its Cargo.toml that it doesn't use, and so that the caller
doesn't need a `use prelude::*` before invoking the macro. This makes
the macro nicer to use for the caller, and should prevent the macro from
causing "cannot find ... in this scope" errors.
</content>
</entry>
<entry>
<title>key-forge: Support extra docs and attributes to ed25519 keypair</title>
<updated>2024-09-18T13:24:04Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-09-16T17:36:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ba498b170ced9230254d9a6e1a7d159ee8f03ccd'/>
<id>urn:sha1:ba498b170ced9230254d9a6e1a7d159ee8f03ccd</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
</feed>
