As of Now: For Mulitple clients, I need to install same certificates(ca.crt and client.crt) in all clients remote laptop to connect to SSTP server of Mikrotik router and I need to install same ca.crt and server.crt certificates in Mikrotik router, then I can have different secrets for all clients.
I want: I need to create different certificates with different validation period for all clients to connect to same SSTP server. Is this possible in SSTP VPN?
Certificate Installed in SSTP server: server.crt + ca.crt
Certificate Installed in SSTP client: client.crt + ca.crt
Certificated selected in SSTP server: ca.crt (If I select server.crt, connection won’t be established)
SSTP Client = ca.crt in TrustedRootCertificates, client.crt in Personal.
Regardless of client.crt is installed or not, connection is established once I import ca.crt in TrustedRootCerificate since SSTP server has selected ca.crt. so connection got established after I installed ca.crt in both end, there is no need of server.crt and client.crt to be installed.
If I import and select server.crt in SSTP server and import client.crt in Personal at client side, connection could not be established.
Since you are talking about import ca.crt in TrustedRootCerificate I assume that clients are windows.
As far as I know Micosoft does not support two way certificate validation.
Microsoft client just checks if server certificate is signed by CA in trusted root.
This is also mentioned in documentation http://wiki.mikrotik.com/wiki/Manual:Interface/SSTP#Certificates
what you call server.crt, ca.crt and client.crt are they certificate with key (public and private part of the cert) or not?
If you enter the full ca certificate (with its key) on both side that would explain why it’s working on your setup.
None of the server nor the clients should have the private part of the ca, just the public (what I called ca.crt). The private part (ca.key) should be used only on another machine for the only purpose of signing the client and server certificates.
To summarize what I wrote before:
on the server you should have the public certificates for ca and server, and the private key for server. Server should be a cert signed by ca.
On the client you should have the public certificate for ca and client, and the private key for client. Client cert should be signed by ca.