The SDK does not remove the old roots as it's not possible to safely change the RootCAs/ClientCAs directly on the tls.Config. But tls.Config method GetConfigForClient allows to get a custom tls.Config after a ClientHello. More information: https://tip.golang.org/pkg/crypto/tls/#Config.GetConfigForClient https://diogomonica.com/2017/01/11/hitless-tls-certificate-rotation-in-go/