{"id":21023454,"url":"https://github.com/quasarapp/easyssl","last_synced_at":"2025-05-15T08:32:56.903Z","repository":{"id":147940625,"uuid":"619228464","full_name":"QuasarApp/easyssl","owner":"QuasarApp","description":"This is Qt wrapper of the ssl library. ","archived":false,"fork":false,"pushed_at":"2024-12-30T21:43:58.000Z","size":179,"stargazers_count":3,"open_issues_count":3,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-03T06:41:57.750Z","etag":null,"topics":["cripto","qt","ssl","wrapper"],"latest_commit_sha":null,"homepage":"https://quasarapp.ddns.net:3031/docs/QuasarApp/easyssl/latest/index.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuasarApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-03-26T16:36:32.000Z","updated_at":"2024-12-30T21:44:03.000Z","dependencies_parsed_at":"2023-12-31T10:22:02.777Z","dependency_job_id":"76351cc5-8d66-46c5-a7ef-c2b2d6ed2cdf","html_url":"https://github.com/QuasarApp/easyssl","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":"QuasarApp/CMakeProject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuasarApp%2Feasyssl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuasarApp%2Feasyssl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuasarApp%2Feasyssl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuasarApp%2Feasyssl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuasarApp","download_url":"https://codeload.github.com/QuasarApp/easyssl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254304647,"owners_count":22048446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cripto","qt","ssl","wrapper"],"created_at":"2024-11-19T11:18:12.711Z","updated_at":"2025-05-15T08:32:55.178Z","avatar_url":"https://github.com/QuasarApp.png","language":"C++","readme":"# EasySSL\nThis is wrapper library that make using OpenSSL library more simple.\nThis library contains interfaces for the signing and encryption data.\n\n### Supported encryption algorithms:\n* ECDSA\n* RSA\n\n### Supported features\n* encryption\n* signing\n* keys creating\n* asyn auth bse on the asyn encryptions methods\n\n\n## Build and Include\n### CMake\n\n * cd yourRepo\n * git submodule add https://github.com/QuasarApp/easyssl.git # add the repository of EasySSL into your repo like submodule\n * git submodule update --init --recursive\n * Include in your CMakeLists.txt file the main CMakeLists.txt file of EasySSL library\n\n     ```cmake\n     add_subdirectory(easyssl)\n     ```\n\n * link the EasySSL library to your target\n     ```cmake\n     target_link_libraries(yourLib PUBLIC easyssl)\n     ```\n * rebuild yuor project\n\n### Independet of SSL build\nDependency on the ssl library greatly complicates the deployment of the final product. For fix this issue, you can build EasySSL library with static SSL library. In this case, SSL library code will be saved in your EasySell binary, and deploy of your application will be easily. The ssl code will not available for your application or other libraries, so you will not get conflicts between different major versions ssl libraries if your distribution kit has it.  \n\nJust set the **EASYSSL_STATIC_SSL** option to true. \n\n``` bash\ncmake .. -DEASYSSL_STATIC_SSL=1 \n```\n\nThe described case may be useful for the Qt 5.15.x, because the QNetwork 5.15 depends on the SSL v1.1 and EasySsl works with the SSL \u003e= 3.0. \n\n## Usage\n\n### Encryption\n\n```cpp\n#include \"easyssl/rsassl.h\"\n\n// create a publick and private keys array.\nint main() {\n    QByteArray pub, priv;\n    EasySSL::RSASSL crypto;\n    crypto.makeKeys(pub, priv)\n\n    auto siganture = crypto.signMessage(message, priv);\n    crypto.checkSign(message, siganture, pub);\n\n    auto encryptedMsg = crypto.encrypt(message, pub);\n    auto decryptedMsg = crypto.decrypt(encryptedMsg, priv);\n}\n\n\n```\n\n\n### Authentication\n\n```cpp\n#include \u003ceasyssl/authecdsa.h\u003e\n\nclass ECDSA: public EasySSL::AuthECDSA {\n\npublic:\n\n    // AsyncKeysAuth interface\n    void setPrivateKey(const QByteArray \u0026newPriv) {\n        _priv = newPriv;\n    }\n\n    QByteArray getPrivateKey() const {\n        return _priv;\n    };\n\nprivate:\n    QByteArray _priv;\n\n};\n\nECDSA edsa;\nQByteArray pub, priv;\nQString userID;\n\n// make public and private keys.\nedsa.makeKeys(pub, priv);\nedsa.setPrivateKey(priv);\nedsa.setPublicKey(pub);\n\n// prepare an authentication object.\nedsa.prepare();\nedsa.setPrivateKey({});\n\nedsa.auth(1000, \u0026userID)\n\n```\n\n## Do not forget to help us make this library better...\nSee our main documentation about contributing to [EasySsl](https://github.com/QuasarApp/easyssl/blob/main/CONTRIBUTING.md)\n\nFull documentation available [here](https://quasarapp.ddns.net:3031/docs/QuasarApp/easyssl/latest/index.html)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquasarapp%2Feasyssl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquasarapp%2Feasyssl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquasarapp%2Feasyssl/lists"}