This Laravel 11 project is designed to manage certificates from multiple Layer7 API Gateways. It fetches private keys, trusted certificates, and user certificates, stores them in a database, and provides a clean and user-friendly interface for viewing and managing them.
- Fetch certificates from various Layer7 API Gateways.
- Store private keys, trusted certificates, and user certificates in a database.
- Display certificates in a clean and user-friendly interface.
- Console commands for importing data.
- Flexible and extensible architecture.
The main page is basically a Filament Table with all the information of certificates imported
You can filter for Certificare Type (User, Trusted, or Private Key), by Gateway or with free text search.
Note that only the public part of your private keys are imported!
You can also show only valid (i.e., unexpired) certificates or only expired ones
For every certificate you can see the details
and even see the complete PEM file if needed
- PHP 8.2 or higher
- Laravel 11
- Composer
- A database (MySQL, PostgreSQL, SQLite, or similar)
- Layer7 API Gateway credentials and endpoints
-
Clone the repository
git clone https://github.com/marco-introini/layer7-certconsole.git cd layer7-certconsole
-
Install dependencies
composer install
-
Set up environment
- Duplicate
.env.example
as.env
and configure your database and API settings.
- Duplicate
-
Generate application key
php artisan key:generate
-
Run migrations
php artisan migrate
-
Insert Layer7 gateway credentials
Insert the correct data inside the gateways
table
It's possible to seed fake data for testing this project
php artisan db:seed --class FakeDataSeeder
Run the following Artisan commands to fetch and store certificates:
-
Import Private Keys Public Certificates
php artisan import:private-keys
-
Import Trusted Certificates
php artisan import:trusted-certs
-
Import User Certificates
php artisan import:user-certificates
Once the setup is complete, start the development server:
php artisan serve
Navigate to http://localhost:8000
to access the certificate management interface.
- Console Commands: Located in the
app/Console/Commands
directory. - Certificate Models: Represented in
app/Models
. - Database Migrations: Found in
database/migrations
. - Web Interface: Views are in
resources/views
.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new feature branch.
- Commit your changes and push them to your fork.
- Open a pull request.
This project is licensed under the MIT License.
If you encounter issues or have questions, feel free to open an issue or contact the maintainer.
- Ensure Layer7 API Gateway credentials are stored correctly inside the
gateways
db table.
Happy Coding! 🚀