cancel
Showing results for 
Search instead for 
Did you mean: 

problems tryng to sign encrypted data

Former Member
0 Kudos

Hi,

Im tryng to sign data with the FM:  SSF_KRN_SIGN_BY_AS  but it sign the data with the public key to the certificate and i need to sign it with the private key. Can any one tell me if there is any parameter that i have to send to the FM to read de private key and not the public key?

thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi guys,

Please can anyone helpme? I'm reading de system PSE with the function:

CALL FUNCTION 'SSF_GET_PARAMETER'

* EXPORTING

*   MANDT                         = SY-MANDT

*   APPLICATION                   = 'ELEARN'

  IMPORTING

*   APPFOUND                      =

    SSFTOOLKIT                    = lv_tollkit

    STR_FORMAT                    = str_format

    STR_PAB                       = str_pab

    STR_PAB_PASSWORD              = str_pab_password

    STR_PROFILEID                 = str_profileid

    STR_PROFILE                   = str_profile

    STR_PROFILEPW                 = str_profilepw

    STR_HASHALG                   = str_hashalg

    STR_ENCRALG                   = STR_ENCRALG

    B_INCCERTS                    = B_INCCERTS

    B_DETACHED                    = B_DETACHED

    B_DISTRIB                     = B_DISTRIB

* EXCEPTIONS

*   SSF_PARAMETER_NOT_FOUND       = 1

*   OTHERS                        = 2

           .


then with this values: str_profileid, str_profile and  lv_tollkit I'm calling to the FM to sign just as code bellow.


CALL FUNCTION 'SSF_KRN_SIGN_BY_AS'

   EXPORTING

*   SSFMANDT                           = SY-MANDT

*   ssfapplication                     = 'ELEARN'

    SSFPROFILEID                       = str_profileid

    SSFPROFILE                         = str_profile

*   SSFPROFILEPW                       = str_profilepw

    SSFTOOLKIT                         = lv_tollkit

*   STR_FORMAT                         = 'PKCS1-V1.5'

*   B_INC_CERTS                        = ' '

*   B_DETACHED                         = ' '

*   B_INENC                            = 'X'

*   IO_SPEC                            = 'T'

     ostr_input_data_l                  = lv_input_len

    STR_HASHALG                        = 'SHA1'

  IMPORTING

    ostr_signed_data_l                 lv_env_len

    crc                                = lv_rc

    srrc                               = lv_ssrc

*   STR_SIGNERID                       =

   TABLES

     ostr_input_data                    = lt_inputdata

     ostr_signed_data                   = lt_sign

  EXCEPTIONS

    ssf_krn_error                      = 1

    ssf_krn_noop                       = 2

    ssf_krn_nomemory                   = 3

    ssf_krn_opinv                      = 4

    ssf_krn_nossflib                   = 5

    ssf_krn_input_data_error           = 6

    ssf_krn_invalid_par                = 7

    ssf_krn_invalid_parlen             = 8

    ssf_fb_input_parameter_error       = 9

    OTHERS                             = 10

           .

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.


but when I check the signature in lt_sign it have a length of 2048 bits and I need it to 512


Can Anyone tell me what can id change in my code or if its a customizing problem?


Thanks