mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
## Description <!--- Describe the changes introduced by this pull request. --> <!--- Explain what problem it solves or what feature/fix it adds. --> ## Related Issue <!--- If this pull request is related to a specific issue, reference it here using #issue_number. --> <!--- For example, "Fixes #123" or "Addresses #456". --> ## Changes Made <!--- Provide a summary of the changes made in this pull request. --> <!--- Include any relevant technical details or architecture changes. --> - Change 1 - Change 2 - ... ## Testing Performed <!--- Describe the testing that you have performed to validate these changes. --> <!--- Include information about test cases, testing environments, and results. --> - Tested feature X in scenario Y. - Ran unit tests for component Z. - Tested on browsers A, B, and C. - ... ## Checklist <!--- Please check the boxes that apply to this pull request. --> <!--- You can add or remove items as needed. --> - [ ] I have tested these changes locally and they work as expected. - [ ] I have added/updated tests that prove the effectiveness of these changes. - [ ] I have updated the documentation to reflect these changes, if applicable. - [ ] I have followed the project's coding style guidelines. - [ ] I have addressed the code review feedback from the previous submission, if applicable. ## Additional Notes <!--- Provide any additional context or notes for the reviewers. --> <!--- This might include details about design decisions, potential concerns, or anything else relevant. --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Enhanced project README for clarity and improved environment variables section. - Added comprehensive developer and user documentation, including guides on local development, public API, self-hosting, and compliance standards. - Introduced specific guides for contributing, creating API keys, using webhooks, and setting up security measures. - Detailed documentation on various fields available for document signing to improve user understanding. - Added metadata structuring to improve navigation within the documentation site. - **Chores** - Updated `.gitignore` to better handle project files. - **New Features** - Introduced detailed metadata and documentation for various Documenso functionalities, including signing documents, user profiles, and compliance levels. - Added functionality for Direct Link Signing, enabling easy sharing for document signing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Timur Ercan <timur.ercan31@gmail.com> Co-authored-by: Lucas Smith <me@lucasjamessmith.me> Co-authored-by: David Nguyen <davidngu28@gmail.com>
62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
---
|
|
title: Signing Certificate
|
|
description: Learn how to create a free, self-signed certificate for local development.
|
|
---
|
|
|
|
import { Callout, Steps } from 'nextra/components';
|
|
|
|
# Create Your Signing Certificate
|
|
|
|
Digitally signing documents requires a signing certificate in `.p12` format. You can either purchase one or create a free self-signed certificate.
|
|
|
|
Follow the steps below to create a free, self-signed certificate for local development.
|
|
|
|
<Steps>
|
|
|
|
### Generate Private Key
|
|
|
|
Generate a private key using OpenSSL by running the following command:
|
|
|
|
```bash
|
|
openssl genrsa -out private.key 2048
|
|
```
|
|
|
|
This command generates a 2048-bit RSA key.
|
|
|
|
### Generate Self-Signed Certificate
|
|
|
|
Using the private key, generate a self-signed certificate by running the following command:
|
|
|
|
```bash
|
|
openssl req -new -x509 -key private.key -out certificate.crt -days 365
|
|
```
|
|
|
|
You will be prompted to enter some information, such as the certificate's Common Name (CN). Ensure that you provide the correct details. The `—days` parameter specifies the certificate's validity period.
|
|
|
|
### Create `p12` Certificate
|
|
|
|
Combine the private key and the self-signed certificate to create a `.p12` certificate. Use the following command:
|
|
|
|
```bash
|
|
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
|
|
```
|
|
|
|
<Callout type="warning">
|
|
If you get the error "Error: Failed to get private key bags", add the `-legacy` flag to the command `openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt -legacy`.
|
|
|
|
</Callout>
|
|
|
|
### `p12` Certificate Password
|
|
|
|
When you create the `.p12` certificate, you will be prompted to enter a password. Enter a strong password and keep it secure. Remember this password, as it will be required when using the certificate.
|
|
|
|
Note that for local development, the password can be left empty.
|
|
|
|
### Add Certificate to the Project
|
|
|
|
Finally, add the certificate to the project. Place the `certificate.p12` file in the `/apps/web/resources` directory. If the directory doesn't exist, create it.
|
|
|
|
The final file path should be `/apps/web/resources/certificate.p12`.
|
|
|
|
</Steps>
|