Comments (1)
I've got everything in the DTLS figured out, now need to find out how to do this in coap.
In pion/dtls I can now do the following to get the remote certificate, where conn
is of type net.Conn
.
conn, err := listener.Accept()
util.Check(err)
// defer conn.Close() // TODO: graceful shutdown
dtlsConn := conn.(*dtls.Conn)
cert := dtlsConn.RemoteCertificate()
fmt.Println("Remote certificate: \n", cert)
I'm currently trying to get to know the go-coap codebase a little bit better. @jkralik do you have any pointers to get me started?
In the end I'd need to get the (DTLS) remote certificate in the handler functions (e.g. handleA
in the DTLS server example.
I'm thinking to add a a field for net.Conn
to HandlerFunc
or to Request
. I've tried to understand it a bit and initially thought I'd be able to use req.Client.srv
but req.Client
only exposes its functions. When I logged req.Client
I saw that srv
is nil
and only commander
is set to a value (&{<nil> <nil> 0xc000201350 <nil> false}
).
I'll keep looking further but would love some guidance on how to do this and in general whether you'd want something like this in the code. (I'ld need it to pass the client certificates through to another process so I'd need to fork this or something if you don't want this in the code base).
BTW: I'm the same user as @vidavidorra , but am currently in the process of changing that to an organisation so from now on will be using this user.
from go-coap.
Related Issues (20)
- TCP doesn't work HOT 2
- Bidirectional examples missing HOT 2
- mux.Router can't handle root path or no path ("/") HOT 3
- Move from `pion/udp` to `pion/transport` HOT 3
- Support for Middlewares in mux Router HOT 5
- Consume `pion/dtls` connection ID support HOT 1
- Support serializing and deserializing a UDP DTLS connection HOT 2
- Implement Support for Separate Messages in Server HOT 1
- Server response with ACK to Empty CON (CoAP Ping) HOT 1
- /examples/dtls/cid/server crashes if client has wrong PSK HOT 1
- udp/server_test.go fails if first non-loopback interface is not running HOT 2
- Media type strings do not match IANA registry HOT 5
- Mux provides user with internal map HOT 1
- Ping (CON Empty Message) Notifications HOT 1
- Support for sending messages without token
- Blockwise requests should be correlated based on message options HOT 4
- ListenAndServeWithOptions doesn't correctly start UDP server HOT 1
- Pion pkg/net dependency error HOT 3
- No `NSTART` parameter in TCP transport HOT 2
- Cannot send non-confirmable responses over blockwise udp connection HOT 1
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 go-coap.