To understand self-singedsigned certificate, at first we need to understand the role of Certificate Authority(CA). I will explain things in the context of web servers and browsers.
The role of Certificate Authority(CA) in HTTPS:
HTTPS employs Public-key cryptography which uses a key pair to encrypt and decrypt content. The key pair consists of one public and one private key that are mathematically related. A web server who intends to communicate securely with browsers can distribute the public key but must keep the private key secret.
Now the problem is browsers cannot know with certainty that the key a web server used for encryption actually belonged to the web server. It is possible that another party monitoring the communication channel between the web server and the browser substituted a different key. Certificate Authority(CA) concept has evolved to help address this problem. Certificate Authority(CA) is a trusted third party which establishes the integrity and ownership of a public key. CA does it by signing the certificate (the public key of the web server) by using its private key. The browsers have built in public keys of well-known CAs and uses these to verify the certificates.
Self-singedsigned certificate:
In case of self-singedsigned certificate, the webserver signs its own certificate instead of getting it signed by a third party CA. In other words, the webserver itself works as a CA for itself. OpenSSL can be used to generate self-signed certificate.
In case of self-signed certificates, browsers(e.g. Chrome) would not be able to verify the certificate, therefore it will complain. To solve the problem, you can install the certificate of the self-signed CA in browsers.
References: