Skip to content

Plugin fails to load on gateway 25.4.0: "Could not load type IDomainValidatorFactory" from Keyfactor.AnyGateway.IAnyCAPlugin v3.2.0.0 #7

Description

@spbsoluble

Summary

The CERTInext caplugin DLL fails to load inside the AnyCA REST Gateway image 25.4.0 (chart anygateway-rest 1.0.1) with a missing-type error against Keyfactor.AnyGateway.IAnyCAPlugin.

Steps to reproduce

  1. Deploy AnyCA REST Gateway 25.4.0 (chart anygateway-rest 1.0.1).
  2. Stage and load `CERTInext/bin/Release/net10.0/CERTInextCAPlugin.dll` (built locally from the current `main` of this repo) into the gateway pod's `/app/Extensions//` directory.
  3. POST a CA registration to `/AnyGatewayREST/config/configuration` referencing the plugin.

Actual behavior

Gateway returns HTTP 500 with body `{"ErrorCode":"0x80131509"}`. Gateway pod logs show:

```
Could not load type 'Keyfactor.AnyGateway.Extensions.IDomainValidatorFactory'
from assembly 'Keyfactor.AnyGateway.IAnyCAPlugin, Version=3.2.0.0, Culture=neutral, PublicKeyToken=0ed89d330114ab09'.
at System.Signature..ctor(...)
at System.Reflection.RuntimeConstructorInfo.<get_Signature>g__LazyCreateSignature|21_0()
at System.Reflection.RuntimeConstructorInfo.GetParameters()
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.<>c.b__27_0(...)
```

The plugin's manifest references the type `Keyfactor.Extensions.CAPlugin.CERTInext.CERTInextCAPlugin` whose constructor (directly or transitively) depends on `IDomainValidatorFactory`. That interface does not exist in the version of `Keyfactor.AnyGateway.IAnyCAPlugin` shipped in gateway image 25.4.0.

Expected behavior

The DLL loads cleanly on a supported gateway version.

Plugin metadata

From `integration-manifest.json` on `main`:

```json
{
"gateway_framework": "24.2.0",
"release_dir": "CERTInext/bin/Release"
}
```

The declared framework target is `24.2.0`, but the plugin code currently consumes a type (`IDomainValidatorFactory`) that exists in a NEWER framework. Either the `gateway_framework` field is out of date OR the plugin needs to either back-port off `IDomainValidatorFactory` or pin its `Keyfactor.AnyGateway.IAnyCAPlugin` NuGet to a version that contains the type.

Environment

  • AnyCA REST Gateway image: `keyfactor.jfrog.io/kyfuseng-release/command/anygateway-rest:25.4.0`
  • Helm chart: `anygateway-rest-1.0.1`
  • Plugin build target framework: `net10.0`
  • Plugin DLL size: 171520 bytes (built locally from `main`)
  • Discovered via the kfclab lab orchestrator's generic plugin pipeline; orchestrator itself is plugin-agnostic, so the failure surfaces in the gateway pod cleanly.

Suggested fix

Pin or bump the `Keyfactor.AnyGateway.IAnyCAPlugin` NuGet reference in `CERTInext/CERTInext.csproj` to a version that includes `IDomainValidatorFactory`, and update `integration-manifest.json#gateway_framework` to match the matching gateway release. Alternately, refactor the plugin to make `IDomainValidatorFactory` an optional dependency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions