After fiddling with how to actually import a certificate for a while, I am now ready to use it. Or so I thought.
It turns out that MikroTik doesn’t consider my certificate an “authority”, even thought it has been used for that for a good number of years outside of MikroTik.
I was told by a co-worker that has been working with MikroTik longer than me, that he remembers it just being a checkbox somewhere. But that seems to no longer be the case, as there is nothing that can be done to a signed certificate apart from toggling trust and a few buttons that aren’t really helpful.
Looking a little more around on the forum, and there really is no good search results for “Certificate Authority”.
Testing a little with my certificate and comparing it to a self-signed certificate on a MikroTik, I only see a difference between the two certificates on the “Key Usage” tab. More specifically the “Key Usage” flags for my imported certificate is blank.
If i remember correctly, it worked up to 6.14 ore something like that.
Then MT dropped the possibility of loading CAs as CA.
But they still work.
If you have a trusted CA imported as a simple certificate, it will still verify e.g. a remote SSTP certificate, it just will not show up as a CA.
True, it has been working for a long time now like this.
However now I actually want to use the certificate as a CA by issuing certificates with it on the router, but I can’t do that because it is not considered a CA in the eyes of RouterOS.
My current workaround has been to create a new self-signed certificate as CA and use that for all future certificate issuing, then leave the old imported CA along side it as backward compatibility until the day I can phase it out.
Mmh, this may not be a valid solution anyway.
It doesn’t appear to be possible to define more than one certificate for the OpenVPN server at a time. At least it will require a second ovpn-server.
Back to poking at the old certificate…
If anyone has any suggestions I’d love to hear them.
Ok, been doing some more research and testing of older RouterOS versions.
RouterOS was seemingly not able to make/issue certificates before around version 6.10.
The checkbox that was labeled “CA” seem to have just been “Trust” before it was renamed in version 6.3.
I have attempted to import my CA on multiple different RouterOS versions with the same result. On version 6.10 it at least was able to see “Digital Signature” as a key usage, whereas on 6.35 it shows as having a blank list of key usages (as seen in the picture I posted before).
I created a new CA using OpenSSL on a linux machine (following http://wiki.mikrotik.com/wiki/Manual:Create_Certificates#Generate_certificates_with_OpenSSL) and have had it act identical to my CA. So I figure I can rule out that it is my CA that is the problem.
I don’t know how RouterOS makes the certificates, but a MikroTik router is able to use CAs created on another MikroTik router just fine.
Ok, I seem to have found the issue.
The old third-party certificate program that I have been using for the past 6 years doesn’t actually check certificate KeyUsage bits.
So in short, my CA doesn’t have the KeyCertSign KeyUsage bit set!
MikroTik, is doing the correct thing in disallowing my certificate from being used as a CA.