Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,5 @@ def kotlin_version = getExtOrDefault("kotlinVersion")
dependencies {
implementation "com.facebook.react:react-android"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "com.madgag.spongycastle:core:1.58.0.0"
implementation "com.madgag.spongycastle:prov:1.58.0.0"
implementation "org.bouncycastle:bcprov-jdk18on:1.84"
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package chat.rocket.mobilecrypto.algorithms

import java.security.NoSuchAlgorithmException
import org.spongycastle.crypto.ExtendedDigest
import org.spongycastle.crypto.PBEParametersGenerator
import org.spongycastle.crypto.digests.SHA1Digest
import org.spongycastle.crypto.digests.SHA224Digest
import org.spongycastle.crypto.digests.SHA256Digest
import org.spongycastle.crypto.digests.SHA384Digest
import org.spongycastle.crypto.digests.SHA512Digest
import org.spongycastle.crypto.generators.PKCS5S2ParametersGenerator
import org.spongycastle.crypto.params.KeyParameter
import org.bouncycastle.crypto.ExtendedDigest
import org.bouncycastle.crypto.PBEParametersGenerator
import org.bouncycastle.crypto.digests.SHA1Digest
import org.bouncycastle.crypto.digests.SHA224Digest
import org.bouncycastle.crypto.digests.SHA256Digest
import org.bouncycastle.crypto.digests.SHA384Digest
import org.bouncycastle.crypto.digests.SHA512Digest
import org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator
import org.bouncycastle.crypto.params.KeyParameter

/**
* PBKDF2 (Password-Based Key Derivation Function 2) operations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ import java.security.spec.RSAPublicKeySpec
import java.security.spec.X509EncodedKeySpec
import java.util.Arrays
import javax.crypto.Cipher
import org.spongycastle.asn1.ASN1InputStream
import org.spongycastle.asn1.ASN1Primitive
import org.spongycastle.asn1.pkcs.PrivateKeyInfo
import org.spongycastle.asn1.x509.SubjectPublicKeyInfo
import org.spongycastle.util.io.pem.PemObject
import org.spongycastle.util.io.pem.PemReader
import org.spongycastle.util.io.pem.PemWriter
import org.bouncycastle.asn1.ASN1InputStream
import org.bouncycastle.asn1.ASN1Primitive
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
import org.bouncycastle.util.io.pem.PemObject
import org.bouncycastle.util.io.pem.PemReader
import org.bouncycastle.util.io.pem.PemWriter

/**
* RSA encryption, decryption, signing and key format conversion operations
Expand Down Expand Up @@ -318,7 +318,7 @@ object RSACrypto {
// PKCS#1 RSA PUBLIC KEY format - need to convert to X.509
val inputStream = ASN1InputStream(keyData)
val obj = inputStream.readObject()
val rsaPublicKey = org.spongycastle.asn1.pkcs.RSAPublicKey.getInstance(obj)
val rsaPublicKey = org.bouncycastle.asn1.pkcs.RSAPublicKey.getInstance(obj)

val keySpec = RSAPublicKeySpec(rsaPublicKey.modulus, rsaPublicKey.publicExponent)
keyFactory.generatePublic(keySpec)
Expand Down Expand Up @@ -412,7 +412,7 @@ object RSACrypto {
}

private fun pkcs1ToPublicKey(obj: ASN1Primitive): WritableMap {
val keyStruct = org.spongycastle.asn1.pkcs.RSAPublicKey.getInstance(obj)
val keyStruct = org.bouncycastle.asn1.pkcs.RSAPublicKey.getInstance(obj)

val jwk = Arguments.createMap()
jwk.putString("n", toBase64String(keyStruct.modulus, true))
Expand All @@ -422,7 +422,7 @@ object RSACrypto {
}

private fun pkcs1ToPrivateKey(obj: ASN1Primitive): WritableMap {
val keyStruct = org.spongycastle.asn1.pkcs.RSAPrivateKey.getInstance(obj)
val keyStruct = org.bouncycastle.asn1.pkcs.RSAPrivateKey.getInstance(obj)

val jwk = Arguments.createMap()
jwk.putString("n", toBase64String(keyStruct.modulus, true))
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rocket.chat/mobile-crypto",
"version": "0.3.0",
"version": "0.4.0",
"description": "Rocket.Chat Mobile Crypto",
"main": "./lib/module/index.js",
"module": "./lib/module/index.js",
Expand Down
Loading