(id string)
| 136 | } |
| 137 | |
| 138 | func (sm9 *Sm9EncMasterKey) ExtractKey(id string) (*Sm9EncKey, error) { |
| 139 | if sm9.has_private_key != true { |
| 140 | return nil, errors.New("Not private key") |
| 141 | } |
| 142 | |
| 143 | id_str := C.CString(id) |
| 144 | defer C.free(unsafe.Pointer(id_str)) |
| 145 | |
| 146 | ret := new(Sm9EncKey) |
| 147 | |
| 148 | if C.sm9_enc_master_key_extract_key(&sm9.master_key, id_str, C.strlen(id_str), &ret.key) != 1 { |
| 149 | return nil, errors.New("Libgmssl inner error") |
| 150 | } |
| 151 | ret.id = id |
| 152 | |
| 153 | return ret, nil |
| 154 | } |
| 155 | |
| 156 | func (sm9 *Sm9EncMasterKey) Encrypt(in []byte, to string) ([]byte, error) { |
| 157 |
no outgoing calls