networx 0.0.1 copy "networx: ^0.0.1" to clipboard
networx: ^0.0.1 copied to clipboard

Network library perform API request through dio, add ons with SSL Checking

Overview #

Networking library to support API Request by dio package & simplified SSL Security operation.

Table Of Content #

Key Feature #

  • Get Dio client with custom configurable SSL security
  • HTTP Certificate Pinning Check
  • Pem File Certificate Check

Get Started #

Import #

import 'package:networx/networx.dart';

Feature #

Generate Dio Client #

Generate Dio Client For API Request.

final rawDio = NetworxDio.getClient(
  dio: Dio(BaseOptions(
    baseUrl: 'https://jsonplaceholder.typicode.com/',
    headers: {
      // HttpHeaders.userAgentHeader: userAgent,
    },
  )),
);
Parameter Name Type Required Description
dio Dio yes The Dio client. The client can configure on their own for dio base option, networx just config for SSL Security.
prefixInterceptors List no The interceptors added in the first section before the other interceptor.
suffixInterceptors List no The interceptors added in the last section after all the other interceptor.
trustedCertificateBytes List no The pem certificate for ssl checking in bytes type.
Only one of trustedCertificateBytes or allowedFingerprints allowed.
customHandshakeSSLInterceptor NetworxHandshakeSSLInterceptor no Custom interceptor for pem certificate checking.
Only one of trustedCertificateBytes or customHandshakeSSLInterceptor allowed.
allowedFingerprints List no A list of allowed SSL certificate SHA fingerprints for secure connections.
Only one of trustedCertificateBytes or allowedFingerprints allowed.
customCertificatePinningInterceptor NetworxCertificatePinningInterceptor no Custom interceptor for check http certificate pinning.
Only one of allowedFingerprints or customCertificatePinningInterceptor allowed.

Check Whether Connection Secure #

This is will checked if the connection using certificate is secure.

if connection is secure, it will return true, otherwise it will return false.

final isSecure = NetworxSecurity.isConnectionSecure(
  serverUrl: 'https://jsonplaceholder.typicode.com/',
  sha: SHA.SHA_256,
  allowedSHAFingerprints: [
    '14f9996f9481eac7f9c005f6954c2f032d8e9cb13d4440ebed35f14bed22c43f',
  ],
);
Parameter Name Type Required Description
serverUrl String true The URL of the server to check the connection against.
sha SHA true The hashing algorithm used (e.g., SHA_256) for the certificate fingerprint.
allowedFingerprints List true A list of allowed SHA fingerprints for SSL certificates.
timeout int yes how long it take to stop process.

Get PEM Certificate Bytes from Asset #

This is will checked if the connection using certificate is secure.

final certificateBytes = NetworxUtils.getCertificateBytesFromAsset(assethPath: 'asset/certificate.pem');
Parameter Name Type Required Description
assethPath String true The location of asset path.

Example #

For detail example, check the example app example

0
likes
150
points
2
downloads

Publisher

verified publisherfadlurahmanfdev.com

Weekly Downloads

Network library perform API request through dio, add ons with SSL Checking

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dio, flutter, http_certificate_pinning, logger

More

Packages that depend on networx