getCertificateIdentifier method

String getCertificateIdentifier()

Gets the the identifier of the certificate.

return The identifier of the certificate. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

String getCertificateIdentifier() {
  Pointer<Char> pCertificateIdentifier = nullptr;
  Pointer<Int> pCertificateIdentifierSize = calloc.allocate(1);
  pCertificateIdentifierSize[0] = -1;
  try {
    var err = biosealSDK.id3Bioseal_GetCertificateIdentifier(_pHandle.value, pCertificateIdentifier, pCertificateIdentifierSize);
    if (err == BiosealError.insufficientBuffer.value) {
      pCertificateIdentifier = calloc.allocate(pCertificateIdentifierSize.value);
      err = biosealSDK.id3Bioseal_GetCertificateIdentifier(_pHandle.value, pCertificateIdentifier, pCertificateIdentifierSize);
      if (err != BiosealError.success.value) {
        throw BiosealException(err);
      }
    }
    final vCertificateIdentifier = utf8.decode(Uint8List.fromList(pCertificateIdentifier.cast<Uint8>().asTypedList(pCertificateIdentifierSize.value)));
    return vCertificateIdentifier;
  } finally {
    calloc.free(pCertificateIdentifier);
    calloc.free(pCertificateIdentifierSize);
  }
}