Commit graph

362 commits

Author SHA1 Message Date
oleghasjanov
ae96863b88 feat: Implement P12 certificate generation improvements
- Replace hardcoded P12 password with randomly generated one
- Add p12_password column to certificates table
- Update certificate serializer to include p12 password in response
- Remove deprecated certificate revocation logic
- Add tests for certificate revocation functionality
- Implement async P12 generation via Sidekiq job
- Add job uniqueness to prevent parallel certificate generation

Migration changes:
- Replace p12_password_digest with p12_password column
- Add safety measures for column removal
2025-04-16 11:47:52 +03:00
oleghasjanov
0925fa4d4b feat: Implement new certificate generation service
- Refactor certificate generation into a dedicated service object
- Add Base64 encoding for p12 binary data storage
- Implement serial number generation and storage
- Remove deprecated certificate generation code
- Simplify certificate status checks
- Update certificate controller to use new generator
- Add proper password handling for p12 containers

The main changes include:
- Moving certificate generation logic to CertificateGenerator service
- Proper handling of binary data encoding
- Implementing serial number tracking for future CRL support
- Removing old certificate generation and validation code
- Simplifying the certificate lifecycle management

This commit provides a more maintainable and robust certificate
generation system while preparing for future CRL implementation.
2025-04-16 11:47:52 +03:00
oleghasjanov
5355397025 feat: improve certificate download extensions
Update certificate download functionality to use appropriate file extensions:
- Use .p12 extension for PKCS#12 files
- Keep .pem extension for PEM-encoded files (CSR, CRT, private key)

This change ensures that downloaded certificate files have the correct extension based on their format, making it easier for users to identify and use the files correctly.
2025-04-16 11:47:52 +03:00
oleghasjanov
51035d1ddf Add UserCertificate model with tests
- Create UserCertificate model with validations and certificate renewal logic
- Add tests for UserCertificate model functionality
- Add user certificates fixtures for testing
- Add association between ApiUser and UserCertificates
- Add required gems: dry-types, dry-struct, openssl
- Add /certs to .gitignore

This commit implements the base model for storing user certificates in the
database, including private keys, CSRs, certificates and P12 files. The model
includes basic validation and certificate renewal functionality, with
comprehensive test coverage.
2025-04-16 11:47:50 +03:00
oleghasjanov
dc37223bc2 feat: Add admin contacts validation settings migration
Add migration to create new settings for admin contacts validation:
- admin_contacts_required_for_org: boolean setting to require admin contacts for organizations
- admin_contacts_required_for_minors: boolean setting to require admin contacts for minors
- admin_contacts_allowed_ident_type: array setting to specify allowed identification types for admin contacts

The migration safely handles existing settings by checking for their presence before creation.
Default values are set to maintain backwards compatibility while enforcing new validation rules.
2025-02-04 11:47:41 +02:00
oleghasjanov
00aee547dd registred company returns not exists 2024-11-25 11:47:30 +02:00
tsoganov
35c5eb6ab5 Fixed structure.sql 2024-11-14 08:37:09 +02:00
tsoganov
0085f99e02 Modified identification request webhook 2024-11-14 08:37:09 +02:00
tsoganov
637cabf95f Handling contact verifications 2024-11-14 08:37:09 +02:00
oleghasjanov
6ff5e55a24 business contact validation + tests 2024-11-08 12:45:12 +02:00
tsoganov
c7d3788a36 Updated contact name data type in schemas 2024-08-22 11:25:54 +03:00
Sergei Tsoganov
1c8a46bd89 Added committed param to white ip 2023-07-07 16:05:06 +03:00
Sergei Tsoganov
ded8917adf Added ip whitelist max count and validation 2023-05-31 14:51:40 +03:00
Sergei Tsoganov
9b5b6b415a Removed unnecessary migration files to reverse jsnob to json 2023-01-17 10:16:21 +02:00
Sergei Tsoganov
6a092e47aa Updated structure.sql 2023-01-10 13:30:55 +02:00
Timo Võhmar
ca5dea905e
Merge pull request #2518 from internetee/reverse-log-domains-json-data
Created migration files for log_domains table json columns
2023-01-09 10:56:22 +02:00
Sergei Tsoganov
b4429a53f7 Created migration files for log_domains table json columns 2023-01-03 12:16:31 +02:00
olegphenomenon
8916bcd0d6 transfer code change during registrant change 2023-01-03 11:54:04 +02:00
Sergei Tsoganov
2714c262db Fixed migrations and modified object data type of log_domains table 2022-12-14 09:56:26 +02:00
Sergei Tsoganov
e70be801c2 Changed log_domains object_changes default value 2022-12-07 12:31:41 +02:00
Sergei Tsoganov
a682681625 Added indexes to log_domains table 2022-12-07 11:22:42 +02:00
olegphenomenon
d8283febc0 updated structure, and rebases from master 2022-11-25 09:31:50 +02:00
Thiago Youssef
59fe7dffbe Migrate publishable field name to registrant_publishable 2022-11-25 09:31:50 +02:00
Thiago Youssef
5c129b24ef Add publishable contact field 2022-11-25 09:31:50 +02:00
Sergei Tsõganov
5e6dbac462 Refactored monthly invoice generation job 2022-10-12 09:59:21 +03:00
olegphenomenon
d323487c16 added sidekiq link to admin view 2022-09-30 11:48:02 +03:00
Timo Võhmar
e0e9c43575
Merge pull request #2397 from internetee/2342-notification-text-lenght
Increase notification text field length on database
2022-09-29 17:05:44 +03:00
Thiago Youssef
a6a3f72032 Merge branch 'master' into 2334-remove-que 2022-09-28 07:40:02 -03:00
Thiago Youssef
fcbbd4b2d3 Merge branch 'master' into 2342-notification-text-lenght 2022-09-26 06:30:37 -03:00
olegphenomenon
c52da86865 remove eis-billing feature toggle 2022-09-02 13:32:02 +03:00
Sergei Tsõganov
d589aa1681 Created job for sending monthly invoices 2022-08-21 19:11:39 +03:00
Thiago Youssef
b335fac159 Fix schema 2022-07-01 10:14:59 -03:00
Thiago Youssef
bd3d7d98ff Increase notification text field length on database 2022-07-01 10:12:35 -03:00
Thiago Youssef
7e0419722e Run migrations 2022-06-30 08:50:41 -03:00
Thiago Youssef
e5ff4a675a Merge branch 'master' into 2363-remove-statuses-before-force-delete 2022-06-29 11:34:29 -03:00
Timo Võhmar
b909bf3408
Merge pull request #2266 from internetee/eis_billing-request-to-generate-invoice
added api service for generate invoice in billing system
2022-06-02 14:42:36 +03:00
Thiago Youssef
943dedd194 Remove deprecated statuses_before_force_delete field 2022-05-24 16:36:21 +03:00
olegphenomenon
a6fbdb8b5c fixed migration issue 2022-05-17 13:01:37 +03:00
olegphenomenon
368e904d5e fixed reload balance and directo 2022-05-17 10:11:26 +03:00
olegphenomenon
94302aaec9 fixed structure sql conflict 2022-05-11 11:19:16 +03:00
olegphenomenon
d1e64577b4 changed request, add new column to invoce 2022-05-11 11:17:47 +03:00
Timo Võhmar
04b7bce91b Update CHANGELOG.md 2022-05-11 11:16:22 +03:00
Thiago Youssef
750bf0821c Remove contact code cache from domain contacts table 2022-05-04 14:38:14 +03:00
olegphenomenon
eef85c0fbf updated structure.sql - resolved conflicts 2022-04-28 11:36:55 +03:00
olegphenomenon
87e8258572 dnssec ans ns validation message 2022-04-28 11:32:40 +03:00
olegphenomenon
9f69370a71 refactoring 2022-04-27 12:10:25 +03:00
olegphenomenon
9766650ae4 renamed column in auction from type to platform 2022-04-27 11:57:43 +03:00
olegphenomenon
d8c0ba2432 add new column 2022-04-27 11:57:43 +03:00
olegphenomenon
2aa1100305 added auction list to admin panel 2022-04-27 11:57:16 +03:00
Thiago Youssef
f8612d687f Remove email verification legacy code 2022-04-13 11:51:08 +03:00