> ## Documentation Index
> Fetch the complete documentation index at: https://eurusys-6c0957fa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure your package manager

> Point Gradle, npm, NuGet, apt, and yum at the MBKYC Nexus repositories.

Each package manager needs to know the Nexus repository URL and your credentials. Replace `https://repo.client.ae` with the URL your ICP contact gives you, and use your issued service-account username and password.

<Warning>
  Never commit Nexus credentials. Use environment variables, a credentials file outside the repo, or your CI secret store.
</Warning>

## Gradle (Android / Desktop JVM)

Add the Maven repository and credentials. Keep the username/password in `~/.gradle/gradle.properties`, not in the build file.

```kotlin theme={null}
// build.gradle.kts (or settings.gradle.kts → dependencyResolutionManagement)
repositories {
    maven {
        url = uri("https://repo.client.ae/repository/mbkyc-maven")
        credentials {
            username = providers.gradleProperty("nexusUser").get()
            password = providers.gradleProperty("nexusPassword").get()
        }
    }
}
```

```properties theme={null}
# ~/.gradle/gradle.properties
nexusUser=your-username
nexusPassword=your-password
```

Then add the dependency:

```kotlin theme={null}
dependencies {
    implementation("ae.gov.icp.mbkyc:mbkyc-android:0.7.0")
    implementation("ae.gov.icp.mbkyc:service-common-android:0.4.0")
    // vendor service AARs as needed — see the package matrix
}
```

<Note>
  On **Android**, `mbkyc-android` transitively pulls `rustls:rustls-platform-verifier` (the JNI layer calls into it for TLS certificate verification on every `MBKYC.create`). It's declared as an `api` dependency, so you don't list it yourself — but it is **not** on Maven Central or Google; it's served from the same `mbkyc-maven` Nexus repository under the `rustls` group. Don't restrict that repository to a single `includeGroup` (e.g. only `ae.gov.icp.mbkyc`), or the `rustls` artifact won't resolve and you'll hit a `ClassNotFoundException` for `org.rustls.platformverifier.CertificateVerifier` at runtime.
</Note>

## npm / pnpm (Web)

Scope the `@mbkyc` registry to Nexus in an `.npmrc`:

```ini theme={null}
# .npmrc
@mbkyc:registry=https://repo.client.ae/repository/mbkyc-npm/
//repo.client.ae/repository/mbkyc-npm/:_auth=<base64 of username:password>
```

```bash theme={null}
npm install @mbkyc/sdk
# or
pnpm add @mbkyc/sdk
```

## NuGet (.NET)

Add the Nexus source, then reference the package:

```bash theme={null}
dotnet nuget add source https://repo.client.ae/repository/mbkyc-nuget/index.json \
  --name mbkyc --username your-username --password your-password --store-password-in-clear-text
```

```xml theme={null}
<!-- The .NET SDK package -->
<PackageReference Include="MBKYC.Sdk" Version="0.5.0" />
<!-- Or the C API package, for native interop -->
<PackageReference Include="MBKYC.Capi" Version="0.8.0" />
```

<Warning>
  If Nexus sits behind a TLS-terminating proxy, the reverse proxy must rewrite Nexus's `http://` package URLs to `https://` (via `sub_filter`). Without it, NuGet and Chocolatey downloads fail. This is an infrastructure concern handled by whoever operates your Nexus.
</Warning>

## apt (Debian / Ubuntu)

```bash theme={null}
# Trust the signing key
curl -fsSL https://repo.client.ae/repository/mbkyc-apt/public.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/mbkyc.gpg

# Add the source
echo "deb [signed-by=/usr/share/keyrings/mbkyc.gpg] https://repo.client.ae/repository/mbkyc-apt stable main" \
  | sudo tee /etc/apt/sources.list.d/mbkyc.list

sudo apt update && sudo apt install libmbkyc-dev
```

## yum / dnf (RHEL / CentOS / Fedora)

```ini theme={null}
# /etc/yum.repos.d/mbkyc.repo
[mbkyc]
name=MBKYC
baseurl=https://repo.client.ae/repository/mbkyc-yum
enabled=1
gpgcheck=0
```

```bash theme={null}
sudo dnf install mbkyc-capi
```

## Swift (macOS)

There is no SwiftPM or CocoaPods feed. Download the XCFramework from the raw repository and link it in Xcode:

```bash theme={null}
curl -fsSL -u "$NEXUS_USER:$NEXUS_PASSWORD" \
  https://repo.client.ae/repository/mbkyc-raw/mbkyc/swift-sdk/0.5.0/MBKYCSDK.xcframework.zip \
  -o MBKYCSDK.xcframework.zip
unzip MBKYCSDK.xcframework.zip
```

See the [Swift guide](/sdks/swift#install) for adding it to your project.

<Card title="Now build your integration" icon="code" href="/sdks/android">
  Head to the SDK guide for your platform.
</Card>
