當前位置: 首頁>>代碼示例>>Java>>正文


Java PassportService類代碼示例

本文整理匯總了Java中org.jmrtd.PassportService的典型用法代碼示例。如果您正苦於以下問題:Java PassportService類的具體用法?Java PassportService怎麽用?Java PassportService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


PassportService類屬於org.jmrtd包,在下文中一共展示了PassportService類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: signData

import org.jmrtd.PassportService; //導入依賴的package包/類
/**
 * Signs 8 bytes by the passport using the AA functionality.
 *
 * @return byte[] - signed byte array
 */
public byte[] signData(PassportService ps, byte[] data) throws Exception{
    InputStream is15 = null;
    try {
        is15 = ps.getInputStream(PassportService.EF_DG15);
        // doAA of JMRTD library only returns signed data, and does not have the AA functionality yet
        // there is no need for sending public key information with the method.
        return ps.doAA(null, null, null, data);
    } catch (Exception ex) {
        ex.printStackTrace();
        throw ex;
    } finally {
        if (is15 != null)
            is15.close();
    }
}
 
開發者ID:digital-voting-pass,項目名稱:polling-station-app,代碼行數:21,代碼來源:PassportConnection.java

示例2: getVoter

import org.jmrtd.PassportService; //導入依賴的package包/類
/**
 * Get personal information about a voter from datagroup1.
 * @return Voter - Voter object containing personal data.
 */
public Voter getVoter(PassportService ps) throws Exception {
    InputStream is = null;
    try {
        is = ps.getInputStream(PassportService.EF_DG1);
        DG1File dg1 = (DG1File) LDSFileUtil.getLDSFile(PassportService.EF_DG1, is);
        MRZInfo mrzInfo = dg1.getMRZInfo();
        //Replace '<' with spaces since JMRTD does not remove these.
        return new Voter(mrzInfo.getSecondaryIdentifier().replaceAll("<", " ").trim(),
                mrzInfo.getPrimaryIdentifier().replaceAll("<", " ").trim(),
                mrzInfo.getGender());
    } catch (Exception ex) {
        ex.printStackTrace();
        throw ex;
    } finally {
        if (is != null)
            is.close();
    }
}
 
開發者ID:digital-voting-pass,項目名稱:polling-station-app,代碼行數:23,代碼來源:PassportConnection.java

示例3: openConnection

import org.jmrtd.PassportService; //導入依賴的package包/類
/**
 * Opens a connection with the ID by doing BAC
 * Uses hardcoded parameters for now
 *
 * @param tag - NFC tag that started this activity (ID NFC tag)
 * @return PassportService - passportservice that has an open connection with the ID
 */
public PassportService openConnection(Tag tag, final DocumentData docData) throws CardServiceException {
    try {
        IsoDep nfc = IsoDep.get(tag);
        CardService cs = CardService.getInstance(nfc);
        this.ps = new PassportService(cs);
        this.ps.open();

        // Get the information needed for BAC from the data provided by OCR
        this.ps.sendSelectApplet(false);
        BACKeySpec bacKey = new BACKeySpec() {
            @Override
            public String getDocumentNumber() {
                return docData.getDocumentNumber();
            }

            @Override
            public String getDateOfBirth() { return docData.getDateOfBirth(); }

            @Override
            public String getDateOfExpiry() { return docData.getExpiryDate(); }
        };
        ps.doBAC(bacKey);
        return ps;
    } catch (CardServiceException ex) {
        try {
            ps.close();
        } catch (Exception ex2) {
            ex2.printStackTrace();
        }
        throw ex;
    }
}
 
開發者ID:digital-voting-pass,項目名稱:polling-station-app,代碼行數:40,代碼來源:PassportConnection.java

示例4: getAAPublicKey

import org.jmrtd.PassportService; //導入依賴的package包/類
/**
 * Retrieves the public key used for Active Authentication from datagroup 15.
 *
 * @return Publickey - returns the publickey used for AA
 */
public PublicKey getAAPublicKey(PassportService ps) throws Exception{
    InputStream is15 = null;
    try {
        is15 = ps.getInputStream(PassportService.EF_DG15);
        DG15File dg15 = new DG15File(is15);
        return dg15.getPublicKey();
    } catch (Exception ex) {
        ex.printStackTrace();
        throw ex;
    } finally {
        if (is15 != null)
            is15.close();
    }
}
 
開發者ID:digital-voting-pass,項目名稱:polling-station-app,代碼行數:20,代碼來源:PassportConnection.java


注:本文中的org.jmrtd.PassportService類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。