这是一个基于 Swift 的库,提供以下功能:
此库适用于 iOS 14 或更高版本。该库允许移动设备和西班牙 DNIe 或其他电子身份证件之间通过 NFC 进行通信。 因此,此库只能在配备 NFC 技术的移动设备上使用,此技术在 iPhone 7 及更高版本的所有 iPhone 上都可用。
此库具有以下依赖项:
此库提供以下功能:
passportReader.readPassport(accessKey: can, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, completed: { (passport, error) in
if let passport = passport {
//passport contiene todos los datos del DNIe
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
passportReader.readPassport(accessKey: mrzKey, paceKeyReference: PACEHandler.MRZ_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, leeCertificadosPublicos: false, completed: { (passport, error) in
if let passport = passport {
//passport contiene todos los datos del DNIe
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```Swift
passportReader.signTextDNIe(accessKey: can, pin: pinDNIe, datosFirma: textoFirmar, certToUse: .FIRMA, passport: passport, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, completed: { (pass, error) in
if let passport = passport {
//passport.signedMessage contiene los datos firmados
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```
```Swift
passportReader.signDocumentDNIe(accessKey: can, pin: pinDNIe, document: urlDocumento, certToUse: .FIRMA, passport: passport, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, completed: { (pass, error) in
if let passport = passport {
//passport.signedMessage contiene los datos firmados
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```
```Swift
passportReader.signHashDNIe(accessKey: can, pin: pinDNIe, hash: hash, digest: digest, certToUse: DNIeCertificates.FIRMA, passport: passport, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, operacion: .FIRMA_DOCUMENTO, completed: { (passport, error) in
if let passport = passport {
//passport.signedMessage contiene los datos firmados
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```
```Swift
passportReader.authenticationDNIeOpenSession(accessKey: can, pin: pinDNIe, passport: passport, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, tags: [], skipSecureElements: true, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, completed: { (pass, error) in
if let passport = passport {
//passport contiene todos los datos del DNIe
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```
```Swift
passportReader.signChallengeDNIe(hash: hash, digest: digest, signPadding: .PKCS, passport: passport, paceKeyReference: PACEHandler.CAN_PACE_KEY_REFERENCE, customDisplayMessage: { (displayMessage) in
return NFCUtils.customDisplayMessage(displayMessage: displayMessage)
}, completed: { (passport, error) in
if let passport = passport {
//passport.signedMessage contiene los datos firmados
} else {
//procesamos error
print("Error: \(error?.localizedDescription)")
}
})
}
```
iDNIe.swift 与 Swift Package Manager v4(Swift 4 及更高版本)兼容。只需将其添加到你的 Package.swift
中的依赖项即可。
dependencies: [
.package(url: "https://github.com/diegocidm4/iDNIe.git", from: "1.0.0")
]
iDNIe.swift 通过 CocoaPods 分发。 只需将此行添加到你的 Podfile 文件中
use_frameworks!
pod 'iDNIe'
之后,运行以下命令
pod install
在上述任一选项之后,你可以在你的 .swift
文件中导入它。
import iDNIe
iDNIe 由 [Diego Cid] 创建和维护
你可以在 Twitter 上关注我:@diegocidm4。
该库以与 app bundle 关联的年度许可分发。