Comments (8)
When using mTLS, it is not possible to also specify credentials in the RabbitMQ connection string (admin:secret
). You can test rabtap with mTLS locally with the provided integration test:
First create keys and certificates:
$ cd inttest/pki
$ ./mkcerts.sh
Then start RabbitMQ with mTLS configured:
$ cd ../rabbitmq
$ docker-compose up
In a second terminal no try the following:
$ cd inttest/pki/certs
$ echo hello | rabtap --uri amqps://localhost:5671 pub --exchange amq.fanout \
--tls-key-file testuser.key \
--tls-cert-file testuser.crt \
--tls-ca-file ca.crt
from rabtap.
@uqix could you try connecting as desribed?
from rabtap.
We need mTLS(not EXTERNAL
auth mechanism) and username/password(PLAIN
) at the same time
from rabtap.
Ok, I can reproduce the problem. In order to get the error, the RabbitMQ configuration needs to something like
auth_mechanisms.1 = PLAIN <======
#auth_mechanisms.2 = EXTERNAL
listeners.ssl.default = 5671
ssl_options.cacertfile = /certs/ca.crt
ssl_options.certfile = /certs/server.crt
ssl_options.keyfile = /certs/server.key
ssl_options.verify = verify_peer <====
ssl_options.fail_if_no_peer_cert = true <====
I'll see how to fix that
from rabtap.
@uqix I've change authentication so that explicitly provided credentials will always be used with PLAIN auth. You can install the version with (will be installed in $GOPATH/bin/go
):
$ go install github.com/jandelgado/rabtap/cmd/rabtap@998ec440860d8daf21c7656ae94c443bb50ca358
Does it solve your problen?
from rabtap.
I'm not a go developer, help needed here:
brew install go
go install github.com/jandelgado/rabtap/cmd/rabtap@998ec440860d8daf21c7656ae94c443bb50ca358
error log:
go: downloading github.com/jandelgado/rabtap v0.0.0-20220605192011-998ec440860d
go: downloading github.com/Knetic/govaluate v0.0.0-20171022003610-9aa49832a739
go: downloading github.com/fatih/color v1.7.0
go: downloading github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
go: downloading github.com/mattn/go-colorable v0.1.1
go: downloading github.com/rabbitmq/amqp091-go v1.3.4
go: downloading github.com/sirupsen/logrus v1.3.0
go: downloading golang.org/x/sync v0.0.0-20190423024810-112230192c58
go: downloading github.com/google/uuid v1.1.1
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: downloading gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
go: downloading github.com/mattn/go-isatty v0.0.6
go: downloading golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
go: downloading golang.org/x/sys v0.0.0-20190412213103-97732733099d
# golang.org/x/sys/unix
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:28:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:43:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:59:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:75:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:90:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:105:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:121:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:136:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:151:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:166:3: //go:linkname must refer to declared function or variable
go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:166:3: too many errors
from rabtap.
@uqix you can try to download a snapshot-binary here: https://github.com/jandelgado/rabtap/suites/6832720947/artifacts/263278437
from rabtap.
Tested and fixed, thanks
from rabtap.
Related Issues (20)
- AUR package HOT 2
- Non-beautified JSON output HOT 5
- Is it possible to tap queue on default exchange? HOT 8
- Feature request: Allow replay from `--saveto` directory HOT 3
- Feature: push messages directly to a queue HOT 2
- Publish a Docker image? HOT 7
- Enhancement: To allow run 'rabtap tap' as a background process (with a switch parameter). So that other commands in the same script can continue without going in the taps 'listening' mode. HOT 2
- rabtap info: runtime: goroutine stack exceeds 1000000000-byte limit HOT 5
- rabtap info fails HOT 10
- Any interest in extending rabtap to be able to use S3? HOT 2
- Feature Request: Limit number of messages consumed HOT 5
- Using wrong exchange name doesn't result in any error/warning message when publishing message HOT 8
- Feature Request: Terminate after all messages are consumed from queue HOT 6
- Feature Request: Terminate when all messages from file(s) where published HOT 4
- Feature Request: Add "json" as valid output for "info" command HOT 2
- go get: installing executables with 'go get' in module mode is deprecated. HOT 1
- How to escape space in binding key? HOT 3
- go 1.16+ is required to build from sources HOT 1
- How to escape special characters in password HOT 2
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 rabtap.