Sample code for 30+ languages & platforms
Dart

Validate a Smartcard PIN

See more Certificates Examples

Validates a smartcard PIN. This example only runs on Windows and requires Chilkat v9.5.0.77 or greater.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Note: Requires Chilkat v9.5.0.77 or greater.

  final cert = CkCert();

  cert.smartCardPin = '000000';

  // Load the certificate on the smartcard currently in the reader (or on the USB token).
  // Pass an empty string to allow Chilkat to automatically choose the CSP (Cryptographi Service Provider).
  // See Load Certificate on Smartcard for information about explicitly selecting a particular CSP.
  try {
    cert.loadFromSmartcard('');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
  final pinValid = cert.checkSmartCardPin();
  if (pinValid < 0) {
    print('Unable to check the PIN validity.');
    print(cert.lastErrorText);
    return;
  }

  if (pinValid == 1) {
    print('PIN is valid.');
  } else {
    print('PIN is invalid.');
  }
}