Print this page
first pass

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/pkcs11/pkcs11_softtoken/common/softRSA.c
          +++ new/usr/src/lib/pkcs11/pkcs11_softtoken/common/softRSA.c
↓ open down ↓ 37 lines elided ↑ open up ↑
  38   38  #include "softMAC.h"
  39   39  #include "softCrypt.h"
  40   40  
  41   41  CK_RV
  42   42  soft_rsa_encrypt(soft_object_t *key, CK_BYTE_PTR in, uint32_t in_len,
  43   43      CK_BYTE_PTR out, int realpublic)
  44   44  {
  45   45  
  46   46          CK_RV rv = CKR_OK;
  47   47  
  48      -/* EXPORT DELETE START */
  49      -
  50   48          uchar_t expo[MAX_KEY_ATTR_BUFLEN];
  51   49          uchar_t modulus[MAX_KEY_ATTR_BUFLEN];
  52   50          uint32_t expo_len = sizeof (expo);
  53   51          uint32_t modulus_len = sizeof (modulus);
  54   52          RSAbytekey k;
  55   53  
  56   54          if (realpublic) {
  57   55                  rv = soft_get_public_value(key, CKA_PUBLIC_EXPONENT, expo,
  58   56                      &expo_len);
  59   57                  if (rv != CKR_OK) {
↓ open down ↓ 15 lines elided ↑ open up ↑
  75   73          k.modulus = modulus;
  76   74          k.modulus_bits = CRYPTO_BYTES2BITS(modulus_len);
  77   75          k.pubexpo = expo;
  78   76          k.pubexpo_bytes = expo_len;
  79   77          k.rfunc = NULL;
  80   78  
  81   79          rv = rsa_encrypt(&k, in, in_len, out);
  82   80  
  83   81  clean1:
  84   82  
  85      -/* EXPORT DELETE END */
  86      -
  87   83          return (rv);
  88   84  }
  89   85  
  90   86  
  91   87  CK_RV
  92   88  soft_rsa_decrypt(soft_object_t *key, CK_BYTE_PTR in, uint32_t in_len,
  93   89      CK_BYTE_PTR out)
  94   90  {
  95   91  
  96   92          CK_RV rv = CKR_OK;
  97   93  
  98      -/* EXPORT DELETE START */
  99      -
 100   94          uchar_t modulus[MAX_KEY_ATTR_BUFLEN];
 101   95          uchar_t prime1[MAX_KEY_ATTR_BUFLEN];
 102   96          uchar_t prime2[MAX_KEY_ATTR_BUFLEN];
 103   97          uchar_t expo1[MAX_KEY_ATTR_BUFLEN];
 104   98          uchar_t expo2[MAX_KEY_ATTR_BUFLEN];
 105   99          uchar_t coef[MAX_KEY_ATTR_BUFLEN];
 106  100          uint32_t modulus_len = sizeof (modulus);
 107  101          uint32_t prime1_len = sizeof (prime1);
 108  102          uint32_t prime2_len = sizeof (prime2);
 109  103          uint32_t expo1_len = sizeof (expo1);
↓ open down ↓ 67 lines elided ↑ open up ↑
 177  171          k.expo2 = expo2;
 178  172          k.expo2_bytes = expo2_len;
 179  173          k.coeff = coef;
 180  174          k.coeff_bytes = coef_len;
 181  175          k.rfunc = NULL;
 182  176  
 183  177          rv = rsa_decrypt(&k, in, in_len, out);
 184  178  
 185  179  clean1:
 186  180  
 187      -/* EXPORT DELETE END */
 188      -
 189  181          return (rv);
 190  182  }
 191  183  
 192  184  /*
 193  185   * Allocate a RSA context for the active encryption or decryption operation.
 194  186   * This function is called without the session lock held.
 195  187   */
 196  188  CK_RV
 197  189  soft_rsa_crypt_init_common(soft_session_t *session_p,
 198  190      CK_MECHANISM_PTR pMechanism, soft_object_t *key_p,
↓ open down ↓ 1087 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX