Are certificates managed by domain name providers, or on the server?

0

I'm setting up my personal VPS with Nginx, and I was reading about how to secure the service. But one thing was a bit unclear to me about certificates and managing HTTPS:

If I buy the domain name (www.example.com) from some 3rd party provider, and then configure the domain to point to the IP of my VPS that is provided by an unrelated party, who manages the certificates?

Should I do all the handling (certificates, TLS configuration, https listening, etc) on the VPS and Nginx config, or is all of that managed by the domain name provider? Or are some things handled by the domain name provider and some on my Nginx config?

Juha Untinen

Posted 2017-09-01T20:24:18.200

Reputation: 664

1You would manage them witch means your responsible for all configuration changes required to use it – Ramhound – 2017-09-01T20:39:35.563

Answers

1

You'll perform the handling that you're asking about.

Here's an overview of the full picture.

You provide the certificate authority (whom you are calling a DNS provider) with whatever their requirements are. This can include payment and identification.

They provide you with a certificate that points to them as the issuing authority.

You then configure the web server to use that certificate.

When someone visits your page with HTTPS, the "S" in "HTTPS" stands for "Secure". In prior years, it was rather safe to think of the S as standing for SSL, because the way HTTPS was implemented was using HTTP over SSL. Nowadays, TLS is the modern implementation that typically gets used instead of older SSL versions.

When the web client (most commonly called a "web browser") uses TLS (or SSL), it gets a certificate from the web server. (This will be an automatically-generated certificate, different in some ways than the certificate you got from your certificate authority.) Then the web client checks whether the certificate is trusted. The certificate that the web browser receives will have traces of your certificate and the certificate authority. The web browser can tell that the certificate was made with the blessing of that certificate authority.

The web client looks at its own "certificate store", which typically simply comes with the web browser and/or operating system. Since your commercially-purchased certificate is presumably pointing to a certificate authority that is recognized and widely-trusted, the web client considers the web server to be trusted.

Make sure that when you get that certificate that you paid for, you don't give it to anyone else. (Normally I would say to not share it with anyone except for whom you have to trust, such as to company running the web server you're using. But since you're running your own web server, that exception may not apply. Although, if your "virtual private server" ("VPS") is not encrypted, presumably your VPS host could access the data.) If anyone untrustworthy gets a copy of that certificate, then they could be trusted to be you. In other words, such a thief can effectively steal your identity. So don't publicly post that certificate that you paid for.

One thing that you may do with your DNS provider is to set up DNS resource records. In many cases, you set up AAAA and/or A records with them. Personally, I tend to just set up NS records with the DNS provider, and host the AAAA and/or A records myself. Your DNS provider does not have to be the same organization as whomever provides your certificates. (If using "Let's Encrypt" as your certificate authority, I would expect them to be different organizations.)

TOOGAM

Posted 2017-09-01T20:24:18.200

Reputation: 12 651

Excellent answer, thanks! Hopefully it helps others with the same question. I think this will become a common thing in the coming years, as Let's Encrypt becomes popular. HTTPS is already becoming de facto unlike just a year or two ago. – Juha Untinen – 2017-09-03T09:33:25.933

And also, for others: A record (A stands for Address) = IPv4 record and AAAA record (Authentication, Authorization, Accounting, and Auditing) = IPv6 record. They are the mapping between a domain name (www.example.com) and the actual IP address the website is hosted in. There is also a whole slew of other types, which you can see here: https://en.wikipedia.org/wiki/List_of_DNS_record_types

– Juha Untinen – 2017-09-03T09:37:49.053

0

If I buy the domain name (www.example.com) from some 3rd party provider, and then configure the domain to point to the IP of my VPS that is provided by an unrelated party, who manages the certificates?

Whomever is managing the VPS would administer this. Domain registrars (domain name providers) technically only deal with IP address and domain name entries associated with your VPS.

Should I do all the handling (certificates, TLS configuration, https listening, etc) on the VPS and Nginx config, or is all of that managed by the domain name provider? Or are some things handled by the domain name provider and some on my Nginx config?

Certificates, TLS, https, etc. are all things you would configure on-server with Nginx, etc. Domain name providers have no role in this aspect.

Anaksunaman

Posted 2017-09-01T20:24:18.200

Reputation: 9 278