-
Notifications
You must be signed in to change notification settings - Fork 75
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
feat: add support for OS specific keychains #1703
base: main
Are you sure you want to change the base?
Conversation
87a3101
to
432ca74
Compare
8732084
to
a6756f1
Compare
- previously we were creating a new keyring entry for each interaction with the keyring - this change will allow us use a mock keyring entry for testing
required for keyring crate
bd666c6
to
57ba3a4
Compare
8366b5c
to
6a4b0ff
Compare
6a4b0ff
to
f263d8d
Compare
@@ -39,6 +49,10 @@ pub struct Cmd { | |||
#[arg(long, short = 's')] | |||
pub as_secret: bool, | |||
|
|||
/// Save in OS-specific secure store | |||
#[arg(long)] | |||
pub secure_store: bool, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it make sense to add an alias for this arg: keychain
for mac, secret-service
for linux and windows-credential-manager
for windows?
@@ -46,7 +46,7 @@ jobs: | |||
- run: rustup target add ${{ matrix.sys.target }} | |||
|
|||
- if: matrix.sys.target == 'aarch64-unknown-linux-gnu' | |||
run: sudo apt-get update && sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libudev-dev | |||
run: sudo apt-get update && sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libudev-dev libdbus-1-dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The keyring crate requires this pkg as a dependency, so I am including it on several of these linux workflows. I just wanted to point this out as a dependency and see if there is any other way I should handle this.
this change was made so that we can concat the KeyName with secure story prefix and service
651340f
to
9d02b01
Compare
Addresses #1481
I updated this branch to point at main instead of feat/add_stellar_ledger so we wouldn't have too many PRs stacked on each other.
This adds support for using secrets stored in OS specific key rings.
Update to system test: stellar/system-test#109
key generate
(no fund)keys generate
(fund)keys fund
keys address
keys show
: should not display the secure store's secret and instead return an error:❌ error: Secure Store does not reveal secret key
tx sign
keys rm
andkeys add
will be addressed in Feat/os keychain followup #1770cargo run keys generate --secure-store carol --network local --no-fund
cargo run keys generate --secure-store dean --network local --fund
cargo run keys fund carol --network local
cargo run keys address carol
cargo run keys show carol
cargo run contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_hello_world.wasm --build-only --network local --source carol | \ cargo run tx sign --network local --sign-with-key carol
cargo run contract deploy --wasm target/test-wasms/hello_world.wasm --build-only --network testnet --source fred-testnet | \ cargo run tx simulate --network testnet --source fred-testnet
this command is not working on a local network or with the test-wasms, it does work on testnet with wasm generated from a new contract
cargo run contract deploy --wasm target/test-wasms/hello_world.wasm --build-only --network testnet --source fred-testnet | \ cargo run tx simulate --network testnet --source fred-testnet | \ cargo run tx sign --network testnet --sign-with-key fred-testnet | \ cargo run tx send --network testnet
same as above
cargo run keys generate --secure-store --network testnet --no-fund alice
cargo run keys generate --secure-store --network testnet --fund bob
cargo run keys fund --network testnet alice
cargo run keys address alice
cargo run keys show alice
cargo run contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_hello_world.wasm --build-only --network testnet --source alice | \ cargo run tx sign --network local --sign-with-key alice
cargo run contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_hello_world.wasm --build-only --network testnet --source alice | \ cargo run tx simulate --network testnet --source alice
cargo run keys generate --secure-store --network testnet --no-fund alice
cargo run keys generate --secure-store --network testnet --fund bob
cargo run keys fund --network testnet alice
cargo run keys address alice
cargo run keys show alice
cargo run contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_hello_world.wasm --build-only --network testnet --source alice | \ cargo run tx sign --network local --sign-with-key alice
cargo run contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_hello_world.wasm --build-only --network testnet --source alice | \ cargo run tx simulate --network testnet --source alice