IssacCMS

Objective-C

@interface IssacCMS : NSObject

Swift

class IssacCMS : NSObject

CMS (PKCS#7) 관련 기능

  • CMS를 읽어들인다.

    Declaration

    Objective-C

    - (BOOL)read:(nonnull NSData *)data;

    Swift

    func read(_ data: Data) -> Bool

    Parameters

    data

    CMS

  • CMS를 BER 형식으로 가져온다.

    Declaration

    Objective-C

    - (nullable NSData *)write;

    Swift

    func write() -> Data?
  • 서명 원문 메시지를 가져온다.

    Declaration

    Objective-C

    - (nullable NSData *)getOriginalMessage;

    Swift

    func getOriginalMessage() -> Data?
  • 전체 서명자 수를 가져온다.

    Declaration

    Objective-C

    - (int)getSignerCount;

    Swift

    func getSignerCount() -> Int32
  • 서명자 구분에 사용되는 방식을 가져온다.

    Declaration

    Objective-C

    - (SignerIdentifierType)getSignerIdentifierType:(int)signerIndex;

    Swift

    func getSignerIdentifierType(_ signerIndex: Int32) -> SignerIdentifierType

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명자의 인증서 발급자 DN을 가져온다.

    Declaration

    Objective-C

    - (nullable NSString *)getSignerInfoIssuer:(int)signerIndex;

    Swift

    func getSignerInfoIssuer(_ signerIndex: Int32) -> String?

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명자의 인증서 일련번호(Serial Number)를 가져온다.

    Declaration

    Objective-C

    - (nullable NSData *)getSignerInfoSerial:(int)signerIndex;

    Swift

    func getSignerInfoSerial(_ signerIndex: Int32) -> Data?

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명자의 공개키 해시값(Subject Key IDentifier)을 가져온다.

    Declaration

    Objective-C

    - (nullable NSData *)getSignerInfoSKID:(int)signerIndex;

    Swift

    func getSignerInfoSKID(_ signerIndex: Int32) -> Data?

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명한 시간을 가져온다.

    Declaration

    Objective-C

    - (nullable NSDate *)getSignTime:(int)signerIndex;

    Swift

    func getSignTime(_ signerIndex: Int32) -> Date?

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명자의 인증서를 가져온다. (포함되어 있을 경우에만)

    Declaration

    Objective-C

    - (nullable IssacCERTIFICATE *)getSignerCert:(int)signerIndex;

    Swift

    func getSignerCert(_ signerIndex: Int32) -> IssacCERTIFICATE?

    Parameters

    signerIndex

    서명자 정보의 인덱스

  • 서명값을 검증한다.

    Declaration

    Objective-C

    - (BOOL)verifySignWithSignerIndex:(int)signerIndex;

    Swift

    func verifySign(withSignerIndex signerIndex: Int32) -> Bool

    Parameters

    signerIndex

    검증할 서명자 정보의 인덱스

  • 서명값을 검증한다.

    Declaration

    Objective-C

    - (BOOL)verifySignWithSignerCert:(nonnull IssacCERTIFICATE *)signerCert;

    Swift

    func verifySign(withSignerCert signerCert: IssacCERTIFICATE) -> Bool

    Parameters

    signerCert

    서명자의 인증서

  • PKCS#7 SignedData 메시지를 생성한다.

    Declaration

    Objective-C

    + (nullable NSData *)genSignedData:(nonnull NSData *)message
                          signerPriKey:(nonnull IssacPRIVATEKEY *)signerPriKey
                            signerCert:(nonnull IssacCERTIFICATE *)signerCert
                              signTime:(nonnull NSDate *)signTime
                               hashAlg:(HashAlg)hashAlg;

    Swift

    class func genSignedData(_ message: Data, signerPriKey: IssacPRIVATEKEY, signerCert: IssacCERTIFICATE, signTime: Date, hashAlg: HashAlg) -> Data?

    Parameters

    message

    서명할 원문 메시지

    signerPriKey

    서명자의 개인키

    signerCert

    서명자의 인증서

    signTime

    서명 시각 (초단위 절삭)

    hashAlg

    서명에 사용할 해시 알고리즘

  • PKCS#7 SignedData 를 검증한다.

    Declaration

    Objective-C

    + (BOOL)verifySignedData:(nonnull NSData *)signedData;

    Swift

    class func verifySignedData(_ signedData: Data) -> Bool

    Parameters

    signedData

    PKCS#7 SignedData 메시지