<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cert/src/encode.rs, branch arti-v1.4.6</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-03-18T16:09:44Z</updated>
<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-cert: Add experimental API for building EncodedEd25519Certs.</title>
<updated>2025-01-13T19:28:01Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-12T12:15:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=73f0570d73eefc0936707ba154020ba364eecc2e'/>
<id>urn:sha1:73f0570d73eefc0936707ba154020ba364eecc2e</id>
<content type='text'>
This will enable us to deserialize byte slices as `EncodedEd25519Certs`.

Needed because this type will be used to representing a parsed + validated
cert retrieved from the keystore.

Technically, we *could* do without this function by defining a separate
newtype wrapper over `Vec&lt;u8&gt;` to represent the validated cert data, but
IMO adding a second encoded ed25519 cert type in another crate might be
confusing later down the line (because the two types will be nearly
identical, and are bound to eventually diverge in terms of API and
implementation).

Part of #1137
</content>
</entry>
<entry>
<title>tor-cert: Remove no-longer-needed experimental API.</title>
<updated>2025-01-13T19:25:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-09T19:38:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=498c0cf0ac2876871aa76f1bb8126eef66b6af75'/>
<id>urn:sha1:498c0cf0ac2876871aa76f1bb8126eef66b6af75</id>
<content type='text'>
Part of #1768
</content>
</entry>
<entry>
<title>tor-keymgr: Use Ed25519Cert::decode to parse the certs.</title>
<updated>2025-01-13T19:25:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-11T14:10:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=38c247ae3503bf9061663fb1745363eec123ca8d'/>
<id>urn:sha1:38c247ae3503bf9061663fb1745363eec123ca8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-cert: Add constructor for creating an encoded cert from a byte slice.</title>
<updated>2024-12-04T16:42:41Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-26T10:21:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c0d59bbc9349c293ca1dc5218e20bf1c899e3c50'/>
<id>urn:sha1:c0d59bbc9349c293ca1dc5218e20bf1c899e3c50</id>
<content type='text'>
This adds an experimental API for creating an `EncodedEd25519Cert` from
a byte slice. We will need this in `ArtiNativeKeystore` for
deserializing the on-disk certs to `KeystoreItem`s.
</content>
</entry>
<entry>
<title>Run maint/add_warning.</title>
<updated>2024-03-13T16:30:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-13T16:30:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c'/>
<id>urn:sha1:c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove RngCompatExt.</title>
<updated>2023-11-29T15:55:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-29T15:49:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7fb24cb69da537ac04ab2dae80997c6d481622ef'/>
<id>urn:sha1:7fb24cb69da537ac04ab2dae80997c6d481622ef</id>
<content type='text'>
This code was needed with the old version of dalek-cryptography,
which wasn't compatible with up-to-date versions of the `rand`
crate(s).  But now that we've upgraded, we can drop this.

(We could have left it around and deprecated it, but we are already
making a breaking change to tor-llcrypto by upgrading
dalek-cryptography.)
</content>
</entry>
<entry>
<title>Convert to the latest versions of dalek-cryptography</title>
<updated>2023-11-29T15:34:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-21T15:58:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98037a2c788bd901679139178d25f855324637f3'/>
<id>urn:sha1:98037a2c788bd901679139178d25f855324637f3</id>
<content type='text'>
The main changes that we have to adjust for are as follows:

* In x25519-dalek:
  * `StaticSecret` is now behind a feature.
  * `StaticSecret::new` is deprecated in favor of
    `StaticSecret::random_from_rng`.
  * StaticSecret no longer does its own clamping.

* In ed25519-dalek:
  * `SecretKey` has (in effect) been renamed to `SigningKey`. The name
    `SecretKey` is now an alias for `[u8; 32]`.
  * `SigningKey` is effectively a keypair, since it contains a
     public key as well.
  * `PublicKey` has been renamed to `VerifyingKey`.
  * The functions to extract a signing key and verifying key have
    been renamed as you might expect.
  * `ExpandedSecretKey` has been moved to `hasmat` and no longer
    implements `sign`.
  * `ExpanededSecretKey` now has as its elements a scalar and a hash
    prefix.
  * Various functions that took `&amp;[u8]` now take `&amp;[u8; N]`.
  * We no longer need a wrapper for older versions of rand.

There is a single test in tor-keymgr that does not pass.  I've
marked it as ignore for now, in hopes that @gabi-250 can help me
figure it out.

This closes #808.  There are several changes I want to make before
we merge, however. They are marked with TODO DALEK.
</content>
</entry>
<entry>
<title>tor-cert, tor-netdoc: Use EncodedEd25519Cert instead of Vec&lt;u8&gt;.</title>
<updated>2023-10-25T15:32:36Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-10-25T14:54:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36f8b29ffd4e6291168cf4b34132d83249e076a4'/>
<id>urn:sha1:36f8b29ffd4e6291168cf4b34132d83249e076a4</id>
<content type='text'>
</content>
</entry>
</feed>
