Comments (2)
Hi thanks for raising an issue :D.
It looks like thumbprints are always upper case hex:
- net48 it generates a thumbprint in GetCertHashString 4.8 which calls EncodeHexString which looks to return upper case.
- net6 looks to also return upper case (switch branches to net6)
The comparison here is between what it received over the stream (which in the error message is upper case) and what was set on the ServiceEndpoint (which in the error message is lower case). A fix could be to always upper case the thumbprint given to the ServiceEndpoint. If that isn't suitable let us know :)
from halibut.
A fix could be to always upper case the thumbprint given to the ServiceEndpoint. If that isn't suitable let us know :)
I guess it's suitable and it would effectively make it case-insensitive, but why bother when you can avoid the allocation?
Thumbprints are hexadecimal representations of the SHA1 (or sometimes SHA256) digest bytes of a certificate. Hexadecimal bytes are case-insensitive (i.e. 2A
and 2a
both represent the decimal value 42
) and there are lots of ways to obtain the thumbprint of a certificate. Here's a screenshot from certmgr in Windows, showing the thumbprint as lowercase:
Anyway, it's not a blocker as its easy to work around, but it would be nice if it just worked out of the box, whether that is by doing case-insensitive comparisons or calling ToUpper
on both ends. 😀
from halibut.
Related Issues (20)
- Strange issue when using WebSockets HOT 3
- Exceptions in the DataStream writer causes the receiver to block with 100% CPU load.
- PR #144 to add buffered stream appears to cause timeout issues.
- messageEnvelope is null HOT 1
- Support WebSockets on .NET Core HOT 1
- Exception with message "The archive entry was compressed using an unsupported compression method." is raised occasionally.
- [Question] TcpListener report progress
- HalibutRuntime extension/inheritance
- Setting the InnerException of HalibutClientException on service errors HOT 2
- Upgrade all references to System.Drawing.Common
- Add support for testing a net6 client against a net48 service over websockets.
- DataStream.FromString does not pass the cancellation token, meaning we wont respect cancelled RPC calls.
- Enforce that HalibutProxyRequestOptions is provided on each RPC call, forcing callers to provide CancellationToken[s]
- Support keepalives on WebSockets
- Cancelling deployment to polling tentacle that is no longer there does not stop RPC retries HOT 2
- Extension of polymorphism in the TypeRegistry
- Strict 1 to 1 communication in polling mode
- Client Denied messages are creating noise in logs
- Passing null for a Nullable<T> parameter fails with AmbiguousMatchException
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from halibut.