Skip to content

did:web with custom HTTPS port not resolving (:4434 works only on default :443) #17

@pavan-ranganath

Description

@pavan-ranganath

I’m trying to run OpenCred with a custom HTTPS port, but I’ve found that did:web identifiers only work with the default TLS port (443).


Configuration

Here’s the relevant part of my combined.yaml:

app:
  server:
    baseUri: https://my-domain:4434
    bindAddr: ["0.0.0.0"]
    domain: "my-domain"
    key: "/letsencrypt/my-domain/privkey.pem"
    cert: "/letsencrypt/my-domain/fullchain.pem"
    port: 4434
    httpPort: true  # This should disable HTTP
  express:
    httpOnly: false

Behavior

  • Example URL being created:

    openid4vp://?client_id=did:web:my-domain:4434&request_uri=https://my-domain:4434/workflows/workflow_id/exchanges/z19wbPTwEmNgzQFFvUtnLtTXH/openid/client/authorization/request
    
  • If I manually GET:

    https://my-domain:4434/workflows/workflow_id/exchanges/z19wbPTwEmNgzQFFvUtnLtTXH/openid/client/authorization/request
    

    → it works.

  • But during the actual OIDC4VP interaction, I only see 1 request from the app:

    1. '/workflows/workflow_id/exchanges/z19sCQoHLkWKZxiWc9YRqK3sU/openid/client/authorization/request' - GET
    
  • In contrast, when I switch to default HTTPS port (443), I see all 3 expected requests:

    1. '/workflows/workflow_id/exchanges/z19sCQoHLkWKZxiWc9YRqK3sU/openid/client/authorization/request' - GET
    2. '/.well-known/did.json' - GET
    3. '/workflows/workflow_id/exchanges/z19sCQoHLkWKZxiWc9YRqK3sU/openid/client/authorization/response' - POST
    

Expected

For example:

did:web:my-domain:4434

should resolve to

https://my-domain:4434/.well-known/did.json

and all 3 request steps should occur, just as with port 443.


Actual

  • Only the initial authorization/request GET succeeds on port 4434.
  • The .well-known/did.json fetch and the authorization/response POST never happen.

Question

  • Is support for custom HTTPS ports in did:web not implemented yet in CA DMV app?
  • Or am I missing a configuration step to make did:web:my-domain:4434 resolvable and fully process the flow?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions