IPWorks OpenPGP 2020 C++ Edition

Questions / Feedback?

IssueCertificate Method

Creates a new certificate in the current store, signed by the selected certificate.

Syntax

ANSI (Cross Platform)
int IssueCertificate(const char* lpszCertSubject, int iSerialNumber);

Unicode (Windows)
INT IssueCertificate(LPCWSTR lpszCertSubject, INT iSerialNumber);
- (void)issueCertificate:(NSString*)certSubject :(int)serialNumber;
#define MID_CERTMGR_ISSUECERTIFICATE 11

IPWORKSOPENPGP_EXTERNAL int IPWORKSOPENPGP_CALL IPWorksOpenPGP_CertMgr_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);

Remarks

This method creates a new certificate in the current store, signed by the selected certificate. CertSubject specifies the subject of the new certificate. A new keyset (public/private key pair) is generated and associated with the new certificate.

The certificate subject is a comma separated list of distinguished name fields and values. For instance "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are displayed below.

FieldMeaning
CNCommon Name. This is commonly a host name like www.server.com.
OOrganization
OUOrganizational Unit
LLocality
SState
CCountry
EEmail Address

If a field value contains a comma it must be quoted.

SerialNumber specifies the certificate serial number. All certificates signed by the same issuer must have different (unique) serial numbers.

The current certificate selected by the class will be used as the issuing certificate.

If no certificate has been selected in the current CertStore prior to calling this method, or if the selected certificate does not have an associated private key, the method fails with an error.

The time validity of the new certificate is determined by the CertValidityTime configuration setting, and the key size by the CertKeyLength configuration setting.

NOTE: This functionality is only available in Windows.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks OpenPGP 2020 C++ Edition - Version 20.0 [Build 8249]