{"id":28459745,"url":"https://github.com/cesanta/polar","last_synced_at":"2025-07-02T12:32:10.191Z","repository":{"id":29166520,"uuid":"32697039","full_name":"cesanta/polar","owner":"cesanta","description":"PorarSSL \u003c-\u003e OpenSSL compatibility layer","archived":false,"fork":false,"pushed_at":"2015-07-02T14:11:36.000Z","size":228,"stargazers_count":18,"open_issues_count":1,"forks_count":6,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-07T01:06:04.217Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://cesanta.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cesanta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-22T21:43:16.000Z","updated_at":"2024-12-31T05:10:13.000Z","dependencies_parsed_at":"2022-08-17T19:15:28.562Z","dependency_job_id":null,"html_url":"https://github.com/cesanta/polar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cesanta/polar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fpolar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fpolar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fpolar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fpolar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cesanta","download_url":"https://codeload.github.com/cesanta/polar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesanta%2Fpolar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263140381,"owners_count":23419868,"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":[],"created_at":"2025-06-07T01:06:03.430Z","updated_at":"2025-07-02T12:32:10.163Z","avatar_url":"https://github.com/cesanta.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"#PolarSSL \u0026lt;-\u003e OpenSSL compatibility layer\n\nThis library is designed to provide SSL support for Mongoose Web Server via PolarSSL.\nIt gives an opportunity to use PolarSSL via OpenSSL-like API.\n\nThe library contains implementation of the following OpenSSL API functions:\n\n```C\nint SSL_read(SSL *ssl, void *buf, int num);\nint SSL_write(SSL *ssl, const void *buf, int num);\nint SSL_get_error(const SSL *ssl, int ret);\nint SSL_connect(SSL *ssl);\nint SSL_set_fd(SSL *ssl, int fd);\nint SSL_accept(SSL *ssl);\nint SSL_library_init();\nSSL_METHOD* SSLv23_client_method();\nSSL_METHOD* SSLv23_server_method();\nSSL *SSL_new(SSL_CTX *ctx);\nvoid SSL_free(SSL *ssl);\n\nvoid SSL_CTX_free(SSL_CTX *ctx);\nvoid SSL_CTX_set_verify(SSL_CTX *ctx, int mode, void* reserved);\nint SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);\nint SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);\nint SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);\nlong SSL_CTX_set_mode(SSL_CTX *ctx, long mode);\nint SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file);\nSSL_CTX *SSL_CTX_new(SSL_METHOD* ssl_method);\n```\n\nBasically this library is intended for Mongoose Web Server, and it implements restricted set of API with additional limitations pointer below.\n- `SSL_CTX_set_verify` function accepts `SSL_VERIFY_PEER` mode only;\n- `SSL_CTX_set_mode` works for `SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER` mode only;\n- `SSL_CTX_use_certificate_file`, `SSL_CTX_use_PrivateKey_file`, `SSL_CTX_use_certificate_chain_file` assumes PEM format only;\n- `SSL_CTX_load_verify_locations` function doesn’t support `CApath` parameter, and imports certificate provided in CAfile parameter immediately, but not on demand (unlike OpenSSL).\n\nThe library was developed and tested with PolarSSL (currently mbedtls) version 1.3.10, which could be downloaded here: https://tls.mbed.org/download/start/mbedtls-1.3.10-gpl.tgz.\n\nPolasSSL should be located in /usr/bin in order to compile example «out-of-box». Otherwise changes in makefile could be required. See polar/examples/web_server/Makefile for details.\n\n#Licensing\n\nThe library is released under commercial and GNU GPL v.2 open source licenses. The GPLv2 open source License does not generally permit incorporating this software into non-open source programs. For those customers who do not wish to comply with the GPLv2 open source license requirements, Cesanta Software offers a full, royalty-free commercial license and professional support without any of the GPL restrictions.\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesanta%2Fpolar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcesanta%2Fpolar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesanta%2Fpolar/lists"}