Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions docs/extension/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@ sidebar_label: Browser Extension
---
# Chrome Extension (MV3) for TLSNotary

> **Important**
>
> ⚠️ When running the extension against a notary server, ensure that the notary server's version matches the version of this extension.
:::warning
When running the extension against a notary server, ensure that the notary server's version matches the version of this extension.
:::

:::warning

The current browser extension will stay locked to version alpha.12 of the TLSNotary protocol while we are rewriting it on top of the upcoming TLSNotary SDK.

:::

The TLSNotary browser extension includes a plugin system that allows you to safely extend its functionality with custom plugins tailored to your specific data sources. This section also explains how to interact with the TLSN Extension within web applications.

Expand Down
4 changes: 1 addition & 3 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,7 @@ RUST_LOG=trace,yamux=info,uid_mux=info cargo run --release
```

In the browser extension, you can change the logging level via **Options > Advanced > Logging Level**.

For the notary server, please refer to [this](https://github.com/tlsnotary/tlsn/blob/main/crates/notary/server/README.md#logging) on how to change the logging level.

w
### How do I troubleshoot connection issues?

If a TLSNotary request fails, first ensure that the request works independently of TLSNotary by testing it with tools like `curl`, Postman, or another HTTP client. This helps rule out any server or network issues unrelated to TLSNotary.
Expand Down
26 changes: 20 additions & 6 deletions docs/notary_server.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
---
sidebar_position: 4
sidebar_label: Notary server
---


:::danger

In [alpha.13](https://github.com/tlsnotary/tlsn/releases/tag/v0.1.0-alpha.13) the project’s scope was narrowed to focus on the core TLSNotary libraries and the upcoming SDK. While the Notary server was designed to be simple and easy to customize, maintaining it became increasingly challenging due to growing feature requests and support needs. By removing the Notary server more resources can be allocated to stabilizing and improving the core protocol.

Existing users who rely on the Notary server can continue to use it by forking and maintaining their own version. We encourage the community to adapt and extend the server as needed for their use cases.

[More info](https://github.com/tlsnotary/tlsn/releases/tag/v0.1.0-alpha.13)

:::


# Run a Notary Server
This guide shows you how to run a [notary server](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server) in an Ubuntu server instance.
This guide shows you how to run a [notary server](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server) in an Ubuntu server instance.

## Configure Server Setting
Refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#configuration) for instructions on how to configure the following settings.
Refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#configuration) for instructions on how to configure the following settings.

1. The following files are needed before running a notary server.

Expand All @@ -15,7 +29,7 @@ Refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/main/cr
| TLS certificate | The notary server's TLS certificate to establish TLS connections with provers | TLS certificate in PEM format | Yes unless TLS is turned off | \<Obtained from your Certificate Authority, e.g. [Let's Encrypt](https://letsencrypt.org/)> |
| Notary signing key | The private key used by the notary server to sign the attestation | A K256 or P256 elliptic curve private key in PKCS#8 PEM format | Yes | `openssl genpkey -algorithm EC -out eckey.pem -pkeyopt ec_paramgen_curve:secp256k1 -pkeyopt ec_param_enc:named_curve` |
2. Expose the notary server port (specified in the config) on your server networking setting.
3. Optionally one can turn on [authorization](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#authorization), or turn off [TLS](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#tls) if TLS is handled by an external setup, e.g. reverse proxy, cloud setup.
3. Optionally one can turn on [authorization](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#authorization), or turn off [TLS](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#tls) if TLS is handled by an external setup, e.g. reverse proxy, cloud setup.

## Using Cargo
1. Install required system dependencies.
Expand All @@ -37,22 +51,22 @@ source ~/.cargo/env
```bash
git checkout tags/<version>
```
5. To configure the server setting, please refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#configuration).
5. To configure the server setting, please refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#configuration).
6. Run the server.
```bash
cargo run --release --bin notary-server
```

## Using Docker
1. Install docker following your preferred method [here](https://docs.docker.com/engine/install/ubuntu/).
2. To configure the server setting, please refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#configuration).
2. To configure the server setting, please refer to the server's [README.md](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#configuration).
3. Run the notary server docker image of your desired version (⚠️ only prover of the same version is supported for now).
```bash
docker run --init -p 127.0.0.1:7047:7047 ghcr.io/tlsnotary/tlsn/notary-server:<version>
```

## API Endpoints
Please refer to the list of all HTTP APIs [here](pathname:///swagger-ui/notary_server_api.html), and WebSocket APIs [here](https://github.com/tlsnotary/tlsn/tree/main/crates/notary/server#websocket-apis).
Please refer to the list of all HTTP APIs [here](pathname:///swagger-ui/notary_server_api.html), and WebSocket APIs [here](https://github.com/tlsnotary/tlsn/tree/v0.1.0-alpha.12/crates/notary/server#websocket-apis).

## PSE Development Notary Server

Expand Down
4 changes: 2 additions & 2 deletions docs/quick_start/rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ This example demonstrates how to use TLSNotary in a simple interactive session b
Follow the instructions from:
https://github.com/tlsnotary/tlsn/tree/main/crates/examples/interactive#readme

## Simple Attestation Example: Verifying Data from an API in Rust with a Notary {#attestation}
## Simple Attestation Example: Attesting and Verifying Data from an API in Rust {#attestation}

![](../../diagrams/light/overview_notary.svg#gh-light-mode-only)
![](../../diagrams/dark/overview_notary.svg#gh-dark-mode-only)

TLSNotary can also be used in a setup where MPC-TLS verification is delegated to a notary server. In this example, the notary attests to the data served to the prover. Next, the prover can share this attestation with a Verifier who can verify the data.
TLSNotary also supports a workflow where a Verifier (acting as Attestor) attests to the proven data. The Prover can then generate a presentation of this attested data, which can be verified by anyone who trusts the Attestor.

Follow the instructions from:
https://github.com/tlsnotary/tlsn/tree/main/crates/examples/attestation#readme
Expand Down
4 changes: 2 additions & 2 deletions docs/quick_start/tlsn-js.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ In this demo, we will request JSON data from the Star Wars API at https://swapi.
1. Open `app.tsx` in your favorite editor.
2. Replace `notaryUrl: 'http://localhost:7047',` with:
```ts
notaryUrl: 'https://notary.pse.dev/v0.1.0-alpha.11',
notaryUrl: 'https://notary.pse.dev/v0.1.0-alpha.12',
```
This makes this webpage use the [PSE](https://pse.dev) notary server to notarize the API request. Feel free to use different or [local notary](#local); a local server will be faster because it removes the bandwidth constraints between the user and the notary.
3. Replace `websocketProxyUrl: 'ws://localhost:55688',` with:
Expand All @@ -44,7 +44,7 @@ In this demo, we will request JSON data from the Star Wars API at https://swapi.
Because a web browser doesn't have the ability to make TCP connection, we need to use a websocket proxy server. This uses a proxy hosted by [PSE](https://pse.dev). Feel free to use different or [local notary](#local) proxy.
4. In `package.json`: check the version number:
```json
"tlsn-js": "v0.1.0-alpha.11"
"tlsn-js": "v0.1.0-alpha.12"
```
5. Install dependencies
```sh
Expand Down