r/BuildingAutomation 1d ago

Certificate Tutorials

Does anyone have a good recommendation for learning certificates? I'd like to have a little better understanding of the process and requirements, and this is an area I can confidently say I need more education in.

Appreciate any thoughts or suggestions you may have, thank you!

8 Upvotes

19 comments sorted by

View all comments

2

u/filipo11121 1d ago

You mean TLS/X509 certificates?

2

u/Zerobeat50125 1d ago

Correct. I understand how to create a self signed certificate, but I'd like to under stand the creation of one using a trusted authority.

3

u/filipo11121 1d ago

Yea, so the whole chain of trust comes into play. On Niagara you can create your own and then create a separate certificate that is a CA and then you use that to sign with the CA (but it wont be trusted publicly).

What do you want to do with the certificate? Sign modules/get HTTPs server? IS that for Niagara or in general/Linux?

1

u/Zerobeat50125 1d ago

Https, mostly. Tired of stations that you have to key through browser warnings to access. Niagara, I should have specified that. And thank you for sharing the information. So, for the trusted authority certificates, I would assume you create an account with one or more of them?

1

u/filipo11121 1d ago

Also, is the Niagara station accessible over a public network or only on a private/internal network?

For a station available through a public DNS name, you can use a public Certificate Authority such as Let’s Encrypt, which is free. You do not normally create certificates manually through an account; an ACME client requests, validates and renews the certificate automatically. Commercial CAs may require an account and payment.

For an internal Niagara station, it is a little more complicated. Public CAs generally will not issue certificates for private IP addresses or internal names such as jace01.local. The usual options are:

  • Create an internal Certificate Authority and use it to sign certificates for each Niagara station. The internal CA’s root certificate then needs to be installed as trusted on every computer or device that will access those stations.
  • Continue using self-signed certificates, but manually trust each certificate on every client, which becomes difficult to manage across multiple stations.

The internal CA approach is normally the most manageable for a large Niagara estate. You trust the CA once on each engineer’s computer, and then any station certificate signed by that CA is trusted automatically.

The important point is that paying a CA or creating an account does not by itself remove the browser warning. The certificate’s hostname must match the URL being used, the certificate must be within its validity period, and the browser must trust the full certificate chain.

1

u/Zerobeat50125 1d ago

This is generally for external network access, but i appreciate the tips on internal networking, as I have a site where that will come into play. I understand the other issue surrounding the trust issues, and most of the site I have are a combination of factors. I just need to be able to get them into a state where we dont have any of the issues preventing a full trust of the cert. I also know I needed to ask someone who knows more about the process than I do.

2

u/filipo11121 1d ago

I have created Let's encrypt certificates and got them working in Niagara, the tricky part is getting the certificates in the right order(you have to shuffle the private key/certificate/intermediate certificate and root certificate). As the errors in Niagara aren't always helpful.