📄 pgpclientencode.c
字号:
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = flags;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_KeyFlags,
&value, sizeof( flags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOKeyServerPreferences(
PGPContextRef context,
PGPUInt32 flags)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = flags;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_KeyServerPreferences,
&value, sizeof( flags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOKeyGenFast(
PGPContextRef context,
PGPBoolean fastGen
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)fastGen;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_KeyGenFast,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOKeyGenOnToken(
PGPContextRef context,
PGPUInt32 tokenID
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = tokenID;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_KeyGenOnToken,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOKeyGenUseExistingEntropy(
PGPContextRef context,
PGPBoolean useExistingEntropy
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)useExistingEntropy;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_KeyGenUseExistingEntropy,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOOutputToken( PGPContextRef context, PGPUInt32 token )
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = token;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_OutputToken,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOKeyContainer( PGPContextRef context,
const PGPByte *cont, PGPSize contSize )
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
/* Input parameter */
value.asPtr = (void*)cont;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_TokenKeyContainerSuggested,
&value, contSize, NULL);
return( optionList );
}
PGPOptionListRef
PGPOExportable(
PGPContextRef context,
PGPBoolean exportable
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)exportable;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_Exportable,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOExportPrivateKeys(
PGPContextRef context,
PGPBoolean exportKeys
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)exportKeys;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_ExportPrivateKeys,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOExportPrivateSubkeys(
PGPContextRef context,
PGPBoolean exportSubkeys
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)exportSubkeys;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_ExportPrivateSubkeys,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOOmitMIMEVersion(
PGPContextRef context,
PGPBoolean omitVersion
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)omitVersion;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_OmitMIMEVersion,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOX509Encoding(
PGPContextRef context,
PGPBoolean x509Encoding
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32)x509Encoding;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_X509Encoding,
&value, sizeof( PGPUInt32 ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOSigTrust(
PGPContextRef context,
PGPUInt32 trustLevel,
PGPUInt32 trustValue)
{
PGPOptionListRef optionList;
PGPOCertificateTrustDesc *descriptor;
pgpValidateOptionContext( context );
pgpValidateOptionParam( trustValue >= kPGPKeyTrust_Unknown &&
trustValue <= kPGPKeyTrust_Ultimate );
pgpEnterOptionListFunction();
descriptor = (PGPOCertificateTrustDesc *)
pgpContextMemAlloc( context, sizeof(*descriptor), 0);
if( IsntNull( descriptor ) )
{
PGPOptionValue value;
descriptor->trustLevel = trustLevel;
descriptor->trustValue = trustValue;
value.asPtr = descriptor;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_CertificateTrust,
&value, sizeof( *descriptor ),
AllocatedOptionHandlerProc );
}
else
{
optionList = kPGPOutOfMemoryOptionListRef;
}
return( optionList );
}
PGPOptionListRef
PGPOCommentString(
PGPContextRef context,
char const *comment
)
{
PGPSize commentLength;
pgpValidateOptionContext( context );
pgpValidateOptionParam( IsntNull( comment ) );
pgpEnterOptionListFunction();
commentLength = strlen( comment ) + 1;
return( pgpCreateBufferOptionList( context,
kPGPOptionType_CommentString,
comment, commentLength ) );
}
PGPOptionListRef
PGPOVersionString(
PGPContextRef context,
char const *version
)
{
PGPSize versionLength;
pgpValidateOptionContext( context );
pgpValidateOptionParam( IsntNull( version ) );
pgpEnterOptionListFunction();
versionLength = strlen( version ) + 1;
return( pgpCreateBufferOptionList( context,
kPGPOptionType_VersionString,
version, versionLength ) );
}
PGPOptionListRef
PGPOFileNameString(
PGPContextRef context,
char const *fileName
)
{
PGPSize fileNameLength;
pgpValidateOptionContext( context );
pgpValidateOptionParam( IsntNull( fileName ) );
pgpEnterOptionListFunction();
fileNameLength = strlen( fileName ) + 1;
return( pgpCreateBufferOptionList( context,
kPGPOptionType_InputFileName,
fileName, fileNameLength ) );
}
PGPOptionListRef
PGPOSigRegularExpression(
PGPContextRef context,
char const *regexp
)
{
PGPSize regexpLength;
pgpValidateOptionContext( context );
pgpValidateOptionParam( IsntNull( regexp ) );
pgpEnterOptionListFunction();
regexpLength = strlen( regexp ) + 1;
return( pgpCreateBufferOptionList( context,
kPGPOptionType_CertificateRegularExpression,
regexp, regexpLength ) );
}
PGPOptionListRef
PGPOLocalEncoding(
PGPContextRef context,
PGPLocalEncodingFlags localEncode
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
/* Ensure incompatible options not selected */
if( (localEncode & kPGPLocalEncoding_Force) &&
(localEncode & kPGPLocalEncoding_Auto) )
return kPGPBadParamsOptionListRef;
pgpEnterOptionListFunction();
value.asUInt = localEncode;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_LocalEncoding,
&value, sizeof( PGPLocalEncodingFlags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOOutputLineEndType(
PGPContextRef context,
PGPLineEndType lineEnd
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpValidateOptionParam( lineEnd == kPGPLineEnd_LF ||
lineEnd == kPGPLineEnd_CR || lineEnd == kPGPLineEnd_CRLF );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32) lineEnd;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_OutputLineEndType,
&value, sizeof( PGPLocalEncodingFlags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOExportFormat(
PGPContextRef context,
PGPExportFormat exportFormat
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32) exportFormat;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_ExportFormat,
&value, sizeof( PGPLocalEncodingFlags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOInputFormat(
PGPContextRef context,
PGPInputFormat inputFormat
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32) inputFormat;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_InputFormat,
&value, sizeof( PGPLocalEncodingFlags ), NULL);
return( optionList );
}
PGPOptionListRef
PGPOOutputFormat(
PGPContextRef context,
PGPOutputFormat outputFormat
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asUInt = (PGPUInt32) outputFormat;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_OutputFormat,
&value, sizeof( PGPLocalEncodingFlags ), NULL);
return( optionList );
}
/*
* We don't use copy semantics on this one because it may have deep
* structure that we don't know about.
*/
PGPOptionListRef
PGPOAttributeValue(
PGPContextRef context,
PGPAttributeValue *attributeValue,
PGPUInt32 attributeValueCount
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpEnterOptionListFunction();
value.asPtr = attributeValue;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_AttributeValue,
&value, attributeValueCount * sizeof(PGPAttributeValue),
NULL);
return( optionList );
}
PGPOptionListRef
PGPOImportKeysTo(
PGPContextRef context,
PGPKeyDBRef keyDBRef
)
{
PGPOptionListRef optionList;
PGPOptionValue value;
pgpValidateOptionContext( context );
pgpValidateOptionParam( pgpKeyDBIsValid( keyDBRef ) );
pgpEnterOptionListFunction();
value.asKeyDBRef = keyDBRef;
PGPIncKeyDBRefCount( keyDBRef );
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_ImportKeysTo,
&value, sizeof( keyDBRef ),
SpecialOptionHandlerProc );
return( optionList );
}
PGPOptionListRef
PGPOPGPMIMEEncoding(
PGPContextRef context,
PGPBoolean mimeEncoding,
PGPSize * mimeBodyOffset,
char * mimeSeparator
)
{
PGPOptionListRef optionList;
PGPOPGPMIMEEncodingDesc *descriptor;
pgpValidateOptionContext( context );
if ( mimeEncoding )
{
if ( IsntNull( mimeBodyOffset ) )
*mimeBodyOffset = 0;
if ( IsntNull( mimeSeparator ) )
*mimeSeparator = '\0';
pgpValidateOptionParam( IsntNull( mimeBodyOffset ) );
pgpValidateOptionParam( IsntNull( mimeSeparator ) );
pgpDebugWhackMemory( mimeSeparator, kPGPMimeSeparatorSize );
}
else
{
/* mime off--ignore other params */
}
pgpEnterOptionListFunction();
descriptor = (PGPOPGPMIMEEncodingDesc *)
pgpContextMemAlloc( context, sizeof(*descriptor), 0 );
if( IsntNull( descriptor ) )
{
PGPOptionValue value;
descriptor->mimeEncoding = (PGPUInt32) mimeEncoding;
descriptor->mimeBodyOffset = mimeEncoding ? mimeBodyOffset : NULL;
descriptor->mimeSeparator = mimeEncoding ? mimeSeparator : NULL;
value.asPtr = descriptor;
optionList = pgpCreateStandardValueOptionList( context,
kPGPOptionType_PGPMIMEEncoding,
&value, sizeof( *descriptor ),
AllocatedOptionHandlerProc );
}
else
{
optionList = kPGPOutOfMemoryOptionListRef;
}
return( optionList );
}
/*__Editor_settings____
Local Variables:
tab-width: 4
End:
vi: ts=4 sw=4
vim: si
_____________________*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -