Our problem is we have several systems that use SSL for internal network authentication, but there is no way to automate them. We have phone system hardware that requires an SSL cert to communicate with the handsets around the office, but we have to go into a web interface on it to copy and paste the cert each year. We have the same thing for an internal camera/security system, same thing for a badge system. All of these things are local, not on the internet, yet require SSL certs for internal authentication with clients, and no way to automate these as they are just stand alone devices. As it is itâ(TM)s a pain in the ass to update them, but if we have to do this on a monthly basis itâ(TM)s just absurd.
What do you mean there's no way to automate them? None of the systems you described need someone to be physically there - they just rely on someone going to some web page and doing something.
And that's purely an HTTP thing, maybe with a little SSL thrown in. I mean, other than selecting the file to upload, it's just code (your web browser), interacting with other code (the TCP/IP stack in the computer) interacting with network stuff, then interacting with other code.
As far as the other end is concerned, someone needs to upload a certificate file every so often to it using the HTTP interface it provides. A web browser uses HTTP to get data and display and interact with it. It's just code.
And code that emulates a web browser is some of the most common code out there - for some reason HTTP(S) seems to be one of the most popular protocols to do stuff with.
To the point your situation could be handled in many ways. Maybe you could creatively use curl to log into the web interface and do the file upload - you get back a cookie or authentication token from the login and that needs to be passed back when doing the file upload (something curl can do as well).
Or you can pick your favorite scripting language and use it's HTTP classes to pretend to be a web browser to do the same thing.
Or you can write something using libcurl to do the same thing.
And for those who want to poke around, a program called "postman" can help with forming HTTP requests from basic HTTP(S) interactions to more elaborate ones involving JSON RPC, SOAP, or other API mechanisms. Just remember to document thorougly what your code does in case it breaks and you need to do it manually.