PassportAP

@available(iOS 13.0, *)
public class PassportAP : NSObject

PassportAPはパスポートAPを操作するクラスです。

  • コンストラクタ

    Declaration

    Swift

    @objc
    public init(_ reader: JeidReader)

    Parameters

    reader

    JeidReaderインスタンス

  • EF.CardAccess が利用可能(=PACE 対応カードの可能性)かを返します。

    Declaration

    Swift

    @objc
    public func hasCardAccess() -> Bool

    Return Value

    利用可能ならtrue

  • Access Control の鍵交換を行います。 EF.CardAccess に PACEInfo を含むカードではまず PACE を試行し、 PACE に失敗した場合は BAC にフォールバックします。

    Throws

    PACE・BAC ともに失敗した場合、エラーがスローされます

    Declaration

    Swift

    @objc
    public func startAC(_ epKey: EPKey) throws -> String

    Parameters

    epKey

    パスポート番号、生年月日、有効期限から作成したEPKeyオブジェクト

    Return Value

    成功したアクセスコントロール方式 ("PACE" または "BAC")

  • Password Authenticated Connection Establishment (PACE) を実行します。 EF.CardAccess に PACEInfo を含むカードでのみ利用可能です。

    Throws

    EF.CardAccess が無い場合や PACE プロトコル失敗時にエラーがスローされます

    Declaration

    Swift

    @objc
    public func startPACE(_ epKey: EPKey) throws

    Parameters

    epKey

    パスポート番号、生年月日、有効期限から作成したEPKeyオブジェクト

  • Basic Access Control (BAC)用の鍵交換を行います

    Throws

    鍵交換に失敗した場合、エラーがスローされます

    Declaration

    Swift

    @objc
    public func startBAC(_ epKey: EPKey) throws

    Parameters

    epKey

    パスポート番号、生年月日、有効期限から作成したEPKeyオブジェクト

  • パスポートAP内のすべてのデータを読み出します

    Throws

    読み出しに失敗した場合、エラーがスローされます

    Declaration

    Swift

    @objc
    public func readFiles() throws -> EPFiles

    Return Value

    パスポートAP内のすべてのデータ

  • Active Authenticationを行います。

    Throws

    認証中に発生したエラーがスローされます

    Note

    Active Authenticationをサポートしないパスポートの場合はJeidError.fileNotFound(message:)がスローされます

    Note

    無償版の場合はJeidError.unsupportedOperation(message:)がスローされます

    Declaration

    Swift

    public func activeAuthentication(_ files: EPFiles) throws -> Bool

    Parameters

    files

    EPFilesオブジェクト

    Return Value

    認証に成功した場合はtrue、そうでない場合はfalse