Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Libraries should have a strong name #1287

Open
thompson-tomo opened this issue May 2, 2024 · 7 comments
Open

Libraries should have a strong name #1287

thompson-tomo opened this issue May 2, 2024 · 7 comments
Labels
Type/enhancement New feature or request

Comments

@thompson-tomo
Copy link
Contributor

Is your feature request related to a problem? Please describe.
I can't use steeltoe in one of my application's due to it not having a strong name.

Describe the solution you'd like
I want the library to be signed with a signing key so that i can call it from my applications which require signing to be used.

Describe alternatives you've considered
In the past didn't have much luck in signing third party libraries. Due

Additional context

@thompson-tomo thompson-tomo added the Type/enhancement New feature or request label May 2, 2024
@TimHess
Copy link
Member

TimHess commented May 2, 2024

We've looked into this in the past and would have added done it already, but had external dependencies that weren't compatible at the time. I think those might all be gone in v4, but we also came to the conclusion it wasn't really necessary anymore. Can you elaborate a bit more about the affected application(s) and specify which version of Steeltoe you're wanting to use with it?

The original issue for this is #18

@thompson-tomo
Copy link
Contributor Author

thompson-tomo commented May 5, 2024

My use case is I am running a webservice which is hosted in an app pool in IIS. To avoid complexity of switching to net core+ it has remained with net framework 4.6.2. I want this web application to register itself with my lead application which exposes an Eureka registration endpoint. The goal here is to eliminate the need to manually configure the address of this IIS service as this introduces chances for error.

Reading through #18 my feeling is that the main libraries which are not signed can be connected to Hystrix which is deprecated in favour of Polly, hence don't have an issue if the only one's we don't sign are those which are deprecated.

On another case which might come up for me, is the it is possible that i will want to use the spring config server package to source config from my lead application, however this also won't be possible,

Note, i am needing to sign my projects which are in net framework due to the utilising internal libraries which dictate signing is mandatory otherwise they will not work.

@TimHess
Copy link
Member

TimHess commented May 9, 2024

Have you considered using Steeltoe 2.5 so the .NET Framework app can register directly?

We haven't patched it in a while because there has been no demand, but it should still work.

@thompson-tomo
Copy link
Contributor Author

Nope I have not considered using 2.5 and I notice that it also target's net standard. Is that version signed?

At the same time having the packages signed would reduce the build warnings I am getting due to adopting more & more steeltoe libraries (config server, eureka, management endpoints etc)

@TimHess
Copy link
Member

TimHess commented May 13, 2024

Unfortunately, the 2.5 line is also not signed, but it would at least make more sense to me for us to sign those packages.

Additionally, you could eliminate the Eureka proxy it sounds like you're attempting to build. I would much rather resurrect the 2.x line of Steeltoe for supporting .NET Framework apps than require anybody to try to proxy Eureka.

If you're interested in that idea, it would help to know if you're using any DI packages for the .NET Framework apps

@thompson-tomo
Copy link
Contributor Author

Hey @TimHess at this point in time the net framework api is very minimal hence I don't want to spend to much time on it and it is not up the top of my list. I would still like the packages to be signed as a way to silence all the compiler warnings I am getting but it would also be ok to have this as a v4 feature if you guys are not interested in a partially signed release.

@bart-vmware
Copy link
Member

We don't intend to strong-name-and-sign packages in Steeltoe v4, based on this.

Aside from the recommendations against it, signing is viral. A signed package requires that all of its dependencies are signed as well. Even if that wouldn't be an issue today, we don't want to paint ourselves in a corner where we can't take a dependency on future packages that aren't signed.

If there's no interest in consuming signed Steeltoe v2.x packages, I suspect this issue can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants