Skip to content
Snippets Groups Projects
Commit 3c763383 authored by Gospodin Bodurov's avatar Gospodin Bodurov
Browse files

Merge branch '6-create-one-time-server-side-email-certificate' into 'master'

Move logic of generate certificate to signing-service

See merge request !9
parents 18ed0969 414015dc
Branches
Tags
1 merge request!9Move logic of generate certificate to signing-service
......@@ -2,4 +2,4 @@ bin/
vendor/
Gopkg.lock
.idea/
.project
......@@ -17,24 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package handler
import (
"crypto/rand"
"crypto/rsa"
"crypto/x509"
"crypto/x509/pkix"
"encoding/pem"
"io/ioutil"
"math/big"
"time"
"code.vereign.com/code/viam-apis/data-storage-agent/client"
"code.vereign.com/code/viam-apis/key-storage-agent/api"
"code.vereign.com/code/viam-apis/utils"
"code.vereign.com/code/viam-apis/versions"
"golang.org/x/net/context"
"encoding/asn1"
)
/* TODO remove this file
func (s *KeyStorageServerImpl) GenerateCertificate(ctx context.Context, in *api.GenerateCertificateRequest) (*api.GenerateCertificateResponse, error) {
auth := s.CreateAuthentication(ctx)
......@@ -188,3 +171,4 @@ func readPemBlockFromFile(fileName string) (*pem.Block, error) {
return certificatePemBlock, nil
}
*/
......@@ -80,6 +80,14 @@ func (s *KeyStorageServerImpl) GenerateKeyPair(ctx context.Context,
generateKeyPairResponse.StatusList = handlePutDataErrors(generateKeyPairResponse.StatusList, errors, err)
}
//duplicate logic of ReserveKeyUUID
if generateKeyPairResponse.StatusList == nil || len(generateKeyPairResponse.StatusList) == 0 {
emptyKey := &api.Key{Content: []byte{}}
result, errors, err = client.DoPutDataCall("keys", uuid+"/"+api.KeyType.String(api.KeyType_CERTIFICATE),
emptyKey, versions.EntitiesManagementAgentApiVersion)
generateKeyPairResponse.StatusList = handlePutDataErrors(generateKeyPairResponse.StatusList, errors, err)
}
if generateKeyPairResponse.StatusList == nil || len(generateKeyPairResponse.StatusList) == 0 {
encryptedAesKeyBytes, err := rsaEncryptWithServerKey(s.VereignCertFilePath, aesKeyBytes, []byte("aeskeys"))
if err != nil {
......
......@@ -28,6 +28,8 @@ import (
"code.vereign.com/code/viam-apis/key-storage-agent/api"
"code.vereign.com/code/viam-apis/utils"
"github.com/golang/protobuf/proto"
"encoding/pem"
"io/ioutil"
)
func generateUnusedUUID(client *client.DataStorageClientImpl) (string, error) {
......@@ -85,6 +87,17 @@ func readCertificateFromFile(fileName string) (*x509.Certificate, error) {
return certificate, nil
}
func readPemBlockFromFile(fileName string) (*pem.Block, error) {
fileBytes, err := ioutil.ReadFile(fileName)
if err != nil {
return nil, err
}
certificatePemBlock, _ := pem.Decode(fileBytes)
return certificatePemBlock, nil
}
func getKey(client *client.DataStorageClientImpl, uuid string, keyType api.KeyType) (*api.Key, []*api.Status) {
statusList := []*api.Status{}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment