Drop unused stuff.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22454 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-01-15 20:19:50 +00:00
parent a61844d6b6
commit 471b5b6ea3

View File

@@ -80,15 +80,10 @@ static struct soft_token {
int next_object;
} find;
int encrypt_object;
CK_MECHANISM_PTR encrypt_mechanism;
int decrypt_object;
CK_MECHANISM_PTR decrypt_mechanism;
int sign_object;
CK_MECHANISM_PTR sign_mechanism;
int verify_object;
CK_MECHANISM_PTR verify_mechanism;
int digest_object;
} state[10];
#define MAX_NUM_SESSION (sizeof(soft_token.state)/sizeof(soft_token.state[0]))
FILE *logfile;
@@ -648,14 +643,6 @@ find_object_final(struct session_state *state)
static void
reset_crypto_state(struct session_state *state)
{
state->encrypt_object = -1;
if (state->encrypt_mechanism)
free(state->encrypt_mechanism);
state->encrypt_mechanism = NULL_PTR;
state->decrypt_object = -1;
if (state->decrypt_mechanism)
free(state->decrypt_mechanism);
state->decrypt_mechanism = NULL_PTR;
state->sign_object = -1;
if (state->sign_mechanism)
free(state->sign_mechanism);
@@ -664,7 +651,6 @@ reset_crypto_state(struct session_state *state)
if (state->verify_mechanism)
free(state->verify_mechanism);
state->verify_mechanism = NULL_PTR;
state->digest_object = -1;
}
static void
@@ -1388,317 +1374,6 @@ dup_mechanism(CK_MECHANISM_PTR *dup, const CK_MECHANISM_PTR pMechanism)
return CKR_OK;
}
#if 0
CK_RV
C_EncryptInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
struct session_state *state;
CK_MECHANISM_TYPE mechs[] = { CKM_RSA_PKCS };
CK_BBOOL bool_true = CK_TRUE;
CK_ATTRIBUTE attr[] = {
{ CKA_ENCRYPT, &bool_true, sizeof(bool_true) }
};
struct st_object *o;
CK_RV ret;
INIT_CONTEXT();
st_logf("EncryptInit\n");
VERIFY_SESSION_HANDLE(hSession, &state);
ret = commonInit(attr, sizeof(attr)/sizeof(attr[0]),
mechs, sizeof(mechs)/sizeof(mechs[0]),
pMechanism, hKey, &o);
if (ret)
return ret;
ret = dup_mechanism(&state->encrypt_mechanism, pMechanism);
if (ret == CKR_OK)
state->encrypt_object = OBJECT_ID(o);
return ret;
}
CK_RV
C_Encrypt(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pEncryptedData,
CK_ULONG_PTR pulEncryptedDataLen)
{
CK_RV ret = CKR_FUNCTION_NOT_SUPPORTED;
#if 0
struct session_state *state;
struct st_object *o;
void *buffer = NULL;
RSA *rsa;
int padding, len, buffer_len, padding_len;
INIT_CONTEXT();
st_logf("Encrypt\n");
VERIFY_SESSION_HANDLE(hSession, &state);
if (state->encrypt_object == -1)
return CKR_ARGUMENTS_BAD;
o = soft_token.object.objs[state->encrypt_object];
if (o->u.public_key == NULL) {
st_logf("public key NULL\n");
return CKR_ARGUMENTS_BAD;
}
rsa = o->u.public_key->pkey.rsa;
if (rsa == NULL)
return CKR_ARGUMENTS_BAD;
RSA_blinding_off(rsa); /* XXX RAND is broken while running in mozilla ? */
buffer_len = RSA_size(rsa);
buffer = malloc(buffer_len);
if (buffer == NULL) {
ret = CKR_DEVICE_MEMORY;
goto out;
}
ret = CKR_OK;
switch(state->encrypt_mechanism->mechanism) {
case CKM_RSA_PKCS:
padding = RSA_PKCS1_PADDING;
padding_len = RSA_PKCS1_PADDING_SIZE;
break;
default:
ret = CKR_FUNCTION_NOT_SUPPORTED;
goto out;
}
if (buffer_len + padding_len < ulDataLen) {
ret = CKR_ARGUMENTS_BAD;
goto out;
}
if (pulEncryptedDataLen == NULL) {
st_logf("pulEncryptedDataLen NULL\n");
ret = CKR_ARGUMENTS_BAD;
goto out;
}
if (pData == NULL_PTR) {
st_logf("data NULL\n");
ret = CKR_ARGUMENTS_BAD;
goto out;
}
len = RSA_public_encrypt(ulDataLen, pData, buffer, rsa, padding);
if (len <= 0) {
ret = CKR_DEVICE_ERROR;
goto out;
}
if (len > buffer_len)
abort();
if (pEncryptedData != NULL_PTR)
memcpy(pEncryptedData, buffer, len);
*pulEncryptedDataLen = len;
out:
if (buffer) {
memset(buffer, 0, buffer_len);
free(buffer);
}
#endif
return ret;
}
CK_RV
C_EncryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen,
CK_BYTE_PTR pEncryptedPart,
CK_ULONG_PTR pulEncryptedPartLen)
{
INIT_CONTEXT();
st_logf("EncryptUpdate\n");
VERIFY_SESSION_HANDLE(hSession, NULL);
return CKR_FUNCTION_NOT_SUPPORTED;
}
CK_RV
C_EncryptFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pLastEncryptedPart,
CK_ULONG_PTR pulLastEncryptedPartLen)
{
INIT_CONTEXT();
st_logf("EncryptFinal\n");
VERIFY_SESSION_HANDLE(hSession, NULL);
return CKR_FUNCTION_NOT_SUPPORTED;
}
/* C_DecryptInit initializes a decryption operation. */
CK_RV
C_DecryptInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
struct session_state *state;
CK_MECHANISM_TYPE mechs[] = { CKM_RSA_PKCS };
CK_BBOOL bool_true = CK_TRUE;
CK_ATTRIBUTE attr[] = {
{ CKA_DECRYPT, &bool_true, sizeof(bool_true) }
};
struct st_object *o;
CK_RV ret;
INIT_CONTEXT();
st_logf("DecryptInit\n");
VERIFY_SESSION_HANDLE(hSession, &state);
ret = commonInit(attr, sizeof(attr)/sizeof(attr[0]),
mechs, sizeof(mechs)/sizeof(mechs[0]),
pMechanism, hKey, &o);
if (ret)
return ret;
ret = dup_mechanism(&state->decrypt_mechanism, pMechanism);
if (ret == CKR_OK)
state->decrypt_object = OBJECT_ID(o);
return CKR_OK;
}
CK_RV
C_Decrypt(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedData,
CK_ULONG ulEncryptedDataLen,
CK_BYTE_PTR pData,
CK_ULONG_PTR pulDataLen)
{
CK_RV ret = CKR_FUNCTION_NOT_SUPPORTED;
#if 0
struct session_state *state;
struct st_object *o;
void *buffer = NULL;
RSA *rsa;
int padding, len, buffer_len, padding_len;
INIT_CONTEXT();
st_logf("Decrypt\n");
VERIFY_SESSION_HANDLE(hSession, &state);
if (state->decrypt_object == -1)
return CKR_ARGUMENTS_BAD;
o = soft_token.object.objs[state->decrypt_object];
if (o->u.private_key.key == NULL) {
st_logf("private key NULL\n");
return CKR_ARGUMENTS_BAD;
}
rsa = o->u.private_key.key->pkey.rsa;
if (rsa == NULL)
return CKR_ARGUMENTS_BAD;
RSA_blinding_off(rsa); /* XXX RAND is broken while running in mozilla ? */
buffer_len = RSA_size(rsa);
buffer = malloc(buffer_len);
if (buffer == NULL) {
ret = CKR_DEVICE_MEMORY;
goto out;
}
ret = CKR_OK;
switch(state->decrypt_mechanism->mechanism) {
case CKM_RSA_PKCS:
padding = RSA_PKCS1_PADDING;
padding_len = RSA_PKCS1_PADDING_SIZE;
break;
default:
ret = CKR_FUNCTION_NOT_SUPPORTED;
goto out;
}
if (buffer_len + padding_len < ulEncryptedDataLen) {
ret = CKR_ARGUMENTS_BAD;
goto out;
}
if (pulDataLen == NULL) {
st_logf("pulDataLen NULL\n");
ret = CKR_ARGUMENTS_BAD;
goto out;
}
if (pEncryptedData == NULL_PTR) {
st_logf("data NULL\n");
ret = CKR_ARGUMENTS_BAD;
goto out;
}
len = RSA_private_decrypt(ulEncryptedDataLen, pEncryptedData, buffer,
rsa, padding);
if (len <= 0) {
ret = CKR_DEVICE_ERROR;
goto out;
}
if (len > buffer_len)
abort();
if (pData != NULL_PTR)
memcpy(pData, buffer, len);
*pulDataLen = len;
out:
if (buffer) {
memset(buffer, 0, buffer_len);
free(buffer);
}
#endif
return ret;
}
CK_RV
C_DecryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedPart,
CK_ULONG ulEncryptedPartLen,
CK_BYTE_PTR pPart,
CK_ULONG_PTR pulPartLen)
{
st_logf("DecryptUpdate\n");
INIT_CONTEXT();
VERIFY_SESSION_HANDLE(hSession, NULL);
return CKR_FUNCTION_NOT_SUPPORTED;
}
CK_RV
C_DecryptFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pLastPart,
CK_ULONG_PTR pulLastPartLen)
{
st_logf("DecryptFinal\n");
INIT_CONTEXT();
VERIFY_SESSION_HANDLE(hSession, NULL);
return CKR_FUNCTION_NOT_SUPPORTED;
}
#endif
CK_RV
C_DigestInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism)