moves keystore to commons to avoid unnecessary dependencies on Quartz
This commit is contained in:
@@ -104,6 +104,9 @@ kotlin {
|
|||||||
// Desktop-specific Compose
|
// Desktop-specific Compose
|
||||||
implementation(compose.desktop.currentOs)
|
implementation(compose.desktop.currentOs)
|
||||||
implementation(compose.uiTooling)
|
implementation(compose.uiTooling)
|
||||||
|
|
||||||
|
// Secure key storage via OS keychain (macOS/Windows/Linux)
|
||||||
|
implementation(libs.java.keyring)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,6 +115,10 @@ kotlin {
|
|||||||
dependencies {
|
dependencies {
|
||||||
// Android-specific Compose tooling
|
// Android-specific Compose tooling
|
||||||
implementation(libs.androidx.ui.tooling.preview)
|
implementation(libs.androidx.ui.tooling.preview)
|
||||||
|
|
||||||
|
// Secure key storage via Android Keystore
|
||||||
|
implementation(libs.androidx.security.crypto.ktx)
|
||||||
|
implementation(libs.androidx.datastore.preferences)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@
|
|||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
package com.vitorpamplona.quartz.nip01Core.crypto
|
package com.vitorpamplona.amethyst.commons.keystorage
|
||||||
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.security.keystore.KeyGenParameterSpec
|
import android.security.keystore.KeyGenParameterSpec
|
||||||
+1
-1
@@ -18,7 +18,7 @@
|
|||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
package com.vitorpamplona.quartz.nip01Core.crypto
|
package com.vitorpamplona.amethyst.commons.keystorage
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.security.crypto.EncryptedSharedPreferences
|
import androidx.security.crypto.EncryptedSharedPreferences
|
||||||
+1
-1
@@ -18,7 +18,7 @@
|
|||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
package com.vitorpamplona.quartz.nip01Core.crypto
|
package com.vitorpamplona.amethyst.commons.keystorage
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Secure storage for private keys using platform-specific secure storage mechanisms.
|
* Secure storage for private keys using platform-specific secure storage mechanisms.
|
||||||
+2
-2
@@ -21,11 +21,11 @@
|
|||||||
package com.vitorpamplona.amethyst.commons.account
|
package com.vitorpamplona.amethyst.commons.account
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
|
import com.vitorpamplona.amethyst.commons.keystorage.SecureKeyStorage
|
||||||
|
import com.vitorpamplona.amethyst.commons.keystorage.SecureStorageException
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
|
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
|
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
||||||
import com.vitorpamplona.quartz.nip01Core.crypto.SecureKeyStorage
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.crypto.SecureStorageException
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
|
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
|
||||||
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
|
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
|
||||||
import com.vitorpamplona.quartz.nip19Bech32.decodePrivateKeyAsHexOrNull
|
import com.vitorpamplona.quartz.nip19Bech32.decodePrivateKeyAsHexOrNull
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@
|
|||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
package com.vitorpamplona.quartz.nip01Core.crypto
|
package com.vitorpamplona.amethyst.commons.keystorage
|
||||||
|
|
||||||
import com.github.javakeyring.BackendNotSupportedException
|
import com.github.javakeyring.BackendNotSupportedException
|
||||||
import com.github.javakeyring.Keyring
|
import com.github.javakeyring.Keyring
|
||||||
@@ -166,9 +166,6 @@ kotlin {
|
|||||||
// LibSodium for ChaCha encryption (NIP-44)
|
// LibSodium for ChaCha encryption (NIP-44)
|
||||||
implementation (libs.lazysodium.java)
|
implementation (libs.lazysodium.java)
|
||||||
implementation (libs.jna)
|
implementation (libs.jna)
|
||||||
|
|
||||||
// Secure key storage via OS keychain (macOS/Windows/Linux)
|
|
||||||
implementation(libs.java.keyring)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,10 +188,6 @@ kotlin {
|
|||||||
// LibSodium for ChaCha encryption (NIP-44)
|
// LibSodium for ChaCha encryption (NIP-44)
|
||||||
implementation ("com.goterl:lazysodium-android:5.2.0@aar")
|
implementation ("com.goterl:lazysodium-android:5.2.0@aar")
|
||||||
implementation ("net.java.dev.jna:jna:5.18.1@aar")
|
implementation ("net.java.dev.jna:jna:5.18.1@aar")
|
||||||
|
|
||||||
// Secure key storage via Android Keystore
|
|
||||||
implementation(libs.androidx.security.crypto.ktx)
|
|
||||||
implementation(libs.androidx.datastore.preferences)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user