> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nagare.smtdfc.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Ký số plugin

> Ký gói plugin bằng khóa Ed25519 và cấu hình khóa tin cậy để Nagare xác minh plugin khi cài đặt.

Ký số giúp người dùng chắc chắn gói plugin đến từ bạn và không bị sửa đổi. Nagare dùng chữ ký **Ed25519** tách rời, lưu trong tệp `<package_name>.nagare_plugin.sig`.

## Dành cho tác giả plugin

**1. Tạo cặp khóa**

```bash theme={null}
openssl genpkey -algorithm ED25519 -out plugin-signing-key.pem
openssl pkey -in plugin-signing-key.pem -pubout -out plugin-signing-key.pub.pem
```

Giữ bí mật `plugin-signing-key.pem`. Chia sẻ `plugin-signing-key.pub.pem` cho người dùng.

**2. Build và ký**

```bash theme={null}
nagare plugin build --sign plugin-signing-key.pem
```

Lệnh tạo ra cả `<package_name>.nagare_plugin` và `<package_name>.nagare_plugin.sig`. Khi build lại mà không có `--sign`, tệp `.sig` cũ sẽ bị xóa để tránh chữ ký lỗi thời.

**3. Phân phối**

Phát hành cả hai tệp `.nagare_plugin` và `.sig`.

## Dành cho người dùng

### Tin cậy khóa của tác giả

Chép khóa công khai của tác giả vào thư mục `~/.nagare/trusted`:

```bash theme={null}
mkdir -p ~/.nagare/trusted
cp plugin-signing-key.pub.pem ~/.nagare/trusted/publisher.pem
```

Khóa có thể ở định dạng PEM (PKIX) hoặc chuỗi base64/hex thô. Bạn có thể đặt nhiều khóa trong thư mục này.

### Cài gói đã ký

* Giao diện web: tải lên tệp `.nagare_plugin` và (tùy chọn) tệp `.sig`.
* Nếu không tải lên `.sig`, Nagare tìm tệp `.sig` nằm cạnh gói plugin.

### Cảnh báo khi cài đặt

| Trạng thái | Ý nghĩa |
| - | - |
| `verified` | Chữ ký hợp lệ với một khóa trong `~/.nagare/trusted`. |
| `unverified` | Gói có chữ ký nhưng không có khóa tin cậy nào để xác minh. Plugin vẫn được cài, kèm cảnh báo. |
| `unsigned` | Gói không có chữ ký. Plugin vẫn được cài, kèm cảnh báo. |

Nếu chữ ký **không hợp lệ** (không khớp với bất kỳ khóa tin cậy nào), việc cài đặt bị từ chối.

> [!WARNING]
>
> Plugin chạy với quyền của người dùng hiện tại. Chỉ cài plugin từ nguồn bạn tin tưởng.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.