add support for smartcards in charon by using the ENGINE API provided by OpenSSL, based on patches by Michael Roßberg.

This commit is contained in:
Tobias Brunner
2008-12-03 10:12:20 +00:00
parent c3bdc3cd7f
commit 83c42156a2
6 changed files with 187 additions and 10 deletions
+2
View File
@@ -35,6 +35,8 @@ ENUM(builder_part_names, BUILD_FROM_FILE, BUILD_END,
"BUILD_CA_CERT",
"BUILD_CERT",
"BUILD_X509_FLAG",
"BUILD_SMARTCARD_KEYID",
"BUILD_SMARTCARD_PIN",
"BUILD_END",
);
+4
View File
@@ -76,6 +76,10 @@ enum builder_part_t {
BUILD_CERT,
/** enforce an additional X509 flag, x509_flag_t */
BUILD_X509_FLAG,
/** key ID of a key on a smartcard, null terminated char* ([slot:]keyid) */
BUILD_SMARTCARD_KEYID,
/** pin to access a key on a smartcard, null terminated char* */
BUILD_SMARTCARD_PIN,
/** end of variable argument builder list */
BUILD_END,
};
@@ -184,6 +184,8 @@ static void* create(private_credential_factory_t *this, credential_type_t type,
case BUILD_CA_CERT:
case BUILD_CERT:
case BUILD_IETF_GROUP_ATTR:
case BUILD_SMARTCARD_KEYID:
case BUILD_SMARTCARD_PIN:
builder->add(builder, part, va_arg(args, void*));
continue;
/* no default to get a compiler warning */