Introduction Secondary text

The SSL Certificate Generator project is a comprehensive solution designed to streamline the process of generating and managing SSL/TLS certificates for securing websites and web applications. Built with a modern technology stack that includes Node.js for the backend, Vue.js for the frontend, and MySQL as the database, this application provides an intuitive user experience and robust functionality to cater to developers, businesses, and hosting providers.

SSL certificates are essential for encrypting communication between clients and servers, ensuring secure data transfer, and building trust with users. This project automates many of the tedious steps involved in obtaining and managing SSL certificates, such as domain verification, certificate signing request (CSR) generation, and certificate issuance. It integrates with SSL provider 'GoGetSSL', offering users a seamless way to acquire and validate certificates.

Key Features:
  • User-Friendly Dashboard: A responsive and dynamic interface for managing certificates, tracking their status, and monitoring domain verification progress.
  • Automated Domain Validation: Support for various domain control validation (DCV) methods such as HTTPS, DNS (CNAME records), and Email.
  • CSR and Key Management: Automatic generation of CSR and private keys for every certificate request.
  • Secure Data Handling: Securely stores private keys and sensitive data with industry-standard encryption practices.
  • Extensible Architecture: Built with scalability and customization in mind, allowing developers to adapt the solution to their specific needs.
  • Email and Notification System: Automatically sends email notifications for verification requests and certificate status updates.
  • Integration Ready: Easily integrates with hosting panels, billing systems, or other third-party platforms.

This project is ideal for developers, hosting companies, or resellers looking to offer SSL certificate management as part of their services. It’s fully documented, customizable, and optimized for deployment on a variety of hosting environments, including cPanel, Plesk, and standalone servers.

Whether you’re looking to enhance the security of your own web applications or provide a streamlined SSL certificate management experience to your customers, the SSL Certificate Generator offers all the tools you need in one powerful and easy-to-use package.

Installation

This section provides a step-by-step guide to installing and configuring the SSL Certificate Generator project.

Frontend

  • Step 1: Upload the "Frontend.zip" file to your domain directory.
  • Step 2: Unzip it into the same directory.
  • Step 3: Ensure the '.htaccess' file is included with the project.
  • Checking .htaccess file
  • Step 4: Verify that the site should be visible now. However login or any other function will only be available after setting up the backend. Now you should remove the zip file from here.
  • Checking .htaccess file

Backend

  • Step 1: Upload the file "Backend.zip" to your cPanel outside your domain directory.
  • Step 2: Unzip it into a folder named 'SSLGeneratorBackend'.
  • Unzipping Backend File
  • Step 3: Modify the file "SSLGeneratorBackend/src/config.js" to set the following details:
    • admin_email: Default Admin Username
    • admin_pass: Default Admin Password
    • gogetssl_user: Your GoGetSSL Username
    • gogetssl_pass: Your GoGetSSL API Key
    • secret_key: A long random secret string.
    • Email SMTP:
      • from: Should include "Brand name <SMTP Username>"
      • host: SMTP Hostname (e.g. localhost)
      • port: SMTP Port (e.g. 3306)
      • auth:
        • user: SMTP Username (e.g. johndoe@gmail.com)
        • pass: SMTP Password
    Editing config.js
  • Step 4: Create a MySQL database in cPanel and note its credentials.
  • Step 5: Go to the "Setup Node.js App" option in cPanel.
  • Setup Node.js App in cPanel
  • Step 6: Click on "Create Application".
  • Step 7: Choose Node.js version 18 or higher.
  • Step 8: Select Application Mode as "Production".
  • Step 8: In the application root, enter the directory where you unzipped 'Backend.zip' (e.g., 'SSLGeneratorBackend').
  • Step 9: Choose your domain name in Application URL.
  • Step 10: Set Application Startup file to 'src/index.js'.
  • Step 11: Create the following Environment Variables:
    • DB_HOST: Your database hostname (e.g., localhost)
    • DB_PORT: Database Port (default is 3306)
    • DB_USER: Your cPanel username
    • DB_NAME: Your database name
    • DB_PASS: Your cPanel password
  • Step 12: Click on "Create".
  • Creating Environment Variables
  • Step 13: Wait until the process is complete.
  • Step 14: Click on the "Run NPM Install" button.
  • Step 15: After the process is complete, click on "Run JS Script".
  • Step 16: Choose "start" option and click on "Run JS Script".
  • Starting the project
  • Step 17: Now your project is completely set up!

User Panel

The User Panel of the SSL Certificate Generator project is designed to provide end-users with a seamless and intuitive interface for managing their SSL certificates. It focuses on user-friendly workflows and streamlined processes to make requesting, verifying, and tracking SSL certificates straightforward for users of all technical levels.

Dashboard

The dashboard serves as the home page for users, displaying the number of user's certificates.

User Dashboard

SSL Checker

SSL Checker enables user to verify the details of certificates installed on any website.

The purpose of this feature is to allow users to confirm installation of SSL Certificates on their own websites.

Check SSL

Certificates

Users can initiate the process of generating an SSL certificate by submitting their CSR (Certificate Signing Request). The panel guides users through the required fields, such as domain name, organization details, and email address.

After selecting a validation method, users can monitor the validation progress in real-time. The interface provides feedback on whether the domain has been successfully verified or if additional actions are required.

Once a certificate has been issued, users can easily download the certificate file along with the corresponding private key and CSR. These files are conveniently packaged for server deployment.

Certificate Details

Users can view a detailed list of all their certificates, including information such as Domain Name, Certificate Status, Expiry Date, Provider Details among other details.

Certificates

CSR Generator & Validator

The CSR Generator and Validator allow users to create and validate Certificate Signing Requests (CSRs) with ease. This section is particularly useful for users who need to generate or troubleshoot CSR files for SSL certificate issuance.

CSR Generator returns CSR Code and Private Key both.

CSR Validator can be useful in validating and retrieving organization data who has generated the CSR Code.

CSR Output

User Profile

The User Profile Page is where users can manage their personal information, update credentials, and configure account-specific settings. This section is designed to ensure that users can easily maintain their profiles and keep their information up-to-date for a seamless experience.

Users can update their names, email address, and phone number. Users can also disable the user account. Once disabled, only admins can enable their account.

Users can also change their account password after loggin into their account. If they forget their passwords, password reset option is also there.

Edit Profile

Admin Panel

The Admin Panel serves as the command center for administrators, providing a comprehensive interface to manage users, and SSL certificates. It is designed to streamline administrative tasks and ensure smooth functionality of the platform.

Accessing Admin Panel

The default login credentials for admin are:

  • Email: admin@example.com
  • Password: Pass@1234

Once you login using the admin email and password, you will be taken to the admin dashboard. Here you can perform tasks like user management, and certificate management.

Admins can also use the user dashobard to manage their own SSL certificates or they can use tools like SSL Checker, CSR Generator, etc. like any normal user.

Admin Dashbaard

Users without admin priviledge cannot access this dashboard and there will only be one admin.

Manage Users

The User Management section of the Admin Panel allows administrators to oversee all registered users on the platform. This feature provides essential tools for monitoring, updating, and troubleshooting user accounts.

Admins can modify basic details of users, enable or disable user accounts or even delete them.

Admins cannot modify user password. If a user forget their password, they can use the forgot option to reset the password.

Manage Users

Manage Certificates

The Certificate Management section enables administrators to oversee all SSL certificate requests, issuance, and renewals. This ensures that users' certificate needs are met efficiently while maintaining a high level of service quality.

Admins can view certificate details of every user, revalidate orders on their behalf or resend domain validation emails as well.

Admins can also download CSR Code, Certificate Code, and Private Keys of any certificate on the platform.

Admin Profile

Like any normal user, admins can also modify their own profile details and change password.

Admins will also be able to reset forgotton password using the same option as normal users.

Support and Assistance

As the author of this project, I am committed to ensuring that platform owners who purchase this SSL Certificate Generator system receive the necessary support to maximize its functionality and performance.

Contact Information:

Copyright Notice

This project and its source code are the intellectual property of the author and are protected under copyright law. Unauthorized use, reproduction, distribution, or modification of the code without prior written consent is strictly prohibited and may result in legal action.

Key Points:

  • The code is sold as-is, and the license is granted only to the purchasing party.
  • Redistribution, resale, or sharing of this project or its source code is not allowed.
  • Any modifications made by the purchasing party must comply with the terms of the license agreement.