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
No related branches found
No related tags found
1 merge request!9Move logic of generate certificate to signing-service
...@@ -2,4 +2,4 @@ bin/ ...@@ -2,4 +2,4 @@ bin/
vendor/ vendor/
Gopkg.lock Gopkg.lock
.idea/ .idea/
.project
...@@ -17,24 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ...@@ -17,24 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package handler package handler
import ( /* TODO remove this file
"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"
)
func (s *KeyStorageServerImpl) GenerateCertificate(ctx context.Context, in *api.GenerateCertificateRequest) (*api.GenerateCertificateResponse, error) { func (s *KeyStorageServerImpl) GenerateCertificate(ctx context.Context, in *api.GenerateCertificateRequest) (*api.GenerateCertificateResponse, error) {
auth := s.CreateAuthentication(ctx) auth := s.CreateAuthentication(ctx)
...@@ -188,3 +171,4 @@ func readPemBlockFromFile(fileName string) (*pem.Block, error) { ...@@ -188,3 +171,4 @@ func readPemBlockFromFile(fileName string) (*pem.Block, error) {
return certificatePemBlock, nil return certificatePemBlock, nil
} }
*/
...@@ -80,6 +80,14 @@ func (s *KeyStorageServerImpl) GenerateKeyPair(ctx context.Context, ...@@ -80,6 +80,14 @@ func (s *KeyStorageServerImpl) GenerateKeyPair(ctx context.Context,
generateKeyPairResponse.StatusList = handlePutDataErrors(generateKeyPairResponse.StatusList, errors, err) 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 { if generateKeyPairResponse.StatusList == nil || len(generateKeyPairResponse.StatusList) == 0 {
encryptedAesKeyBytes, err := rsaEncryptWithServerKey(s.VereignCertFilePath, aesKeyBytes, []byte("aeskeys")) encryptedAesKeyBytes, err := rsaEncryptWithServerKey(s.VereignCertFilePath, aesKeyBytes, []byte("aeskeys"))
if err != nil { if err != nil {
......
...@@ -28,6 +28,8 @@ import ( ...@@ -28,6 +28,8 @@ import (
"code.vereign.com/code/viam-apis/key-storage-agent/api" "code.vereign.com/code/viam-apis/key-storage-agent/api"
"code.vereign.com/code/viam-apis/utils" "code.vereign.com/code/viam-apis/utils"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"encoding/pem"
"io/ioutil"
) )
func generateUnusedUUID(client *client.DataStorageClientImpl) (string, error) { func generateUnusedUUID(client *client.DataStorageClientImpl) (string, error) {
...@@ -85,6 +87,17 @@ func readCertificateFromFile(fileName string) (*x509.Certificate, error) { ...@@ -85,6 +87,17 @@ func readCertificateFromFile(fileName string) (*x509.Certificate, error) {
return certificate, nil 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) { func getKey(client *client.DataStorageClientImpl, uuid string, keyType api.KeyType) (*api.Key, []*api.Status) {
statusList := []*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