diff --git a/lib/workers/global/initialize.spec.ts b/lib/workers/global/initialize.spec.ts
index 91547ffdcb06e940c4d016313e609d61e4a1468b..94297b1c10d291ec46bc877b8a39207118f0cdf2 100644
--- a/lib/workers/global/initialize.spec.ts
+++ b/lib/workers/global/initialize.spec.ts
@@ -1,6 +1,7 @@
 import { git, mockedFunction } from '../../../test/util';
 import type { AllConfig, RenovateConfig } from '../../config/types';
 import { initPlatform as _initPlatform } from '../../modules/platform';
+import * as hostRules from '../../util/host-rules';
 import { globalInitialize } from './initialize';
 
 jest.mock('../../util/git');
@@ -39,4 +40,43 @@ describe('workers/global/initialize', () => {
       await expect(globalInitialize(config)).toResolve();
     });
   });
+
+  describe('setGlobalHostRules', () => {
+    beforeEach(() => {
+      hostRules.clear();
+    });
+
+    it('should have run before initPlatform', async () => {
+      const hostRule = {
+        hostType: 'github',
+        matchHost: 'https://some.github-enterprise.host',
+        httpsPrivateKey: 'private-key',
+        httpsCertificate: 'certificate',
+        httpsCertificateAuthority: 'certificate-authority',
+      };
+
+      initPlatform.mockReset();
+      initPlatform.mockImplementationOnce((r) => {
+        const foundRule = hostRules.find({
+          hostType: hostRule.hostType,
+          url: hostRule.matchHost,
+        });
+
+        expect(foundRule.httpsPrivateKey).toEqual(hostRule.httpsPrivateKey);
+        expect(foundRule.httpsCertificateAuthority).toEqual(
+          hostRule.httpsCertificateAuthority,
+        );
+        expect(foundRule.httpsCertificate).toEqual(hostRule.httpsCertificate);
+
+        return Promise.resolve(r);
+      });
+
+      const config: RenovateConfig = {
+        hostRules: [hostRule],
+      };
+
+      git.validateGitVersion.mockResolvedValueOnce(true);
+      await expect(globalInitialize(config)).toResolve();
+    });
+  });
 });
diff --git a/lib/workers/global/initialize.ts b/lib/workers/global/initialize.ts
index 60a73476c521c692d1eae174fac625184e10e4c5..2773006bd1ca95cdab2faabc11df35b8992e9ca0 100644
--- a/lib/workers/global/initialize.ts
+++ b/lib/workers/global/initialize.ts
@@ -69,6 +69,7 @@ export async function globalInitialize(
 ): Promise<RenovateConfig> {
   let config = config_;
   await checkVersions();
+  setGlobalHostRules(config);
   config = await initPlatform(config);
   config = await setDirectories(config);
   await packageCache.init(config);