added B64_GPG_PREFIX 'hQ' string for GnuPG prefix handling (similar to the 'Salted__' handling for Rijndael SPA packet encryption
git-svn-id: file:///home/mbr/svn/fwknop/trunk@111 510a4753-2344-4c79-9c09-4d669213fbeb
This commit is contained in:
parent
111d24c89b
commit
31ef94024c
@ -119,14 +119,14 @@ _rijndael_decrypt(fko_ctx_t ctx, char *dec_key, int b64_len)
|
||||
if(tbuf == NULL)
|
||||
return(FKO_ERROR_MEMORY_ALLOCATION);
|
||||
|
||||
memmove(tbuf+10, tbuf, b64_len);
|
||||
memmove(tbuf+strlen(B64_RIJNDAEL_SALT), tbuf, b64_len);
|
||||
ctx->encrypted_msg = memcpy(tbuf, B64_RIJNDAEL_SALT, strlen(B64_RIJNDAEL_SALT));
|
||||
|
||||
/* Adjust b64_len for added SALT value and Make sure we are still
|
||||
* a properly NULL-terminated string (Ubuntu was one system for
|
||||
* which this was an issue).
|
||||
*/
|
||||
b64_len += 10;
|
||||
b64_len += strlen(B64_RIJNDAEL_SALT);
|
||||
tbuf[b64_len] = '\0';
|
||||
}
|
||||
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
* of Rijndael encrypted data.
|
||||
*/
|
||||
#define B64_RIJNDAEL_SALT "U2FsdGVkX1"
|
||||
#define B64_GPG_PREFIX "hQ"
|
||||
|
||||
/* Initialize an fko context.
|
||||
*/
|
||||
@ -303,10 +304,14 @@ fko_get_spa_data(fko_ctx_t ctx, char **spa_data)
|
||||
*spa_data = ctx->encrypted_msg;
|
||||
|
||||
/* Notice we omit the first 10 bytes if Rijndael encryption is
|
||||
* used (to eliminate the consistent 'Salted__' string).
|
||||
* used (to eliminate the consistent 'Salted__' string), and
|
||||
* in GnuPG mode we eliminate the consistent 'hQ' base64 encoded
|
||||
* prefix
|
||||
*/
|
||||
if(ctx->encryption_type == FKO_ENCRYPTION_RIJNDAEL)
|
||||
*spa_data += 10;
|
||||
*spa_data += strlen(B64_RIJNDAEL_SALT);
|
||||
else if(ctx->encryption_type == FKO_ENCRYPTION_GPG)
|
||||
*spa_data += strlen(B64_GPG_PREFIX);
|
||||
|
||||
return(FKO_SUCCESS);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user