提交 e35cb5b5 编写于 作者: Y YiLin.Li 提交者: jia zhang

rune/libenclave: Pass IAS response in the format of protobuf from init-runelet to runelet

Signed-off-by: NYilin Li <YiLin.Li@linux.alibaba.com>
上级 0f0693db
...@@ -161,7 +161,7 @@ func handleRequest(conn net.Conn, id int) { ...@@ -161,7 +161,7 @@ func handleRequest(conn net.Conn, id int) {
if req.Attest != nil { if req.Attest != nil {
logrus.Infof("In function handleRequest: get an attest request") logrus.Infof("In function handleRequest: get an attest request")
resp.Attest = &pb.AgentServiceResponse_Attest{} resp.Attest = &pb.AgentServiceResponse_Attest{}
_, err := enclaveRuntime.LaunchAttestation(req.Attest.Spid, iasReport, err := enclaveRuntime.LaunchAttestation(req.Attest.Spid,
req.Attest.SubscriptionKey, req.Attest.SubscriptionKey,
req.Attest.Product, req.Attest.Product,
req.Attest.QuoteType) req.Attest.QuoteType)
...@@ -170,7 +170,16 @@ func handleRequest(conn net.Conn, id int) { ...@@ -170,7 +170,16 @@ func handleRequest(conn net.Conn, id int) {
} else { } else {
exitCode = 0 exitCode = 0
} }
resp.Attest.ExitCode = exitCode resp.Attest.ExitCode = exitCode
resp.Attest.StatusCode = iasReport["StatusCode"]
resp.Attest.RequestID = iasReport["Request-ID"]
resp.Attest.XIasreportSignature = iasReport["X-Iasreport-Signature"]
resp.Attest.XIasreportSigningCertificate = iasReport["X-Iasreport-Signing-Certificate"]
resp.Attest.ContentLength = iasReport["ContentLength"]
resp.Attest.ContentType = iasReport["Content-Type"]
resp.Attest.Body = iasReport["Body"]
protoBufWrite(conn, resp) protoBufWrite(conn, resp)
return return
} }
......
...@@ -321,6 +321,13 @@ func (m *AgentServiceResponse_Execute) GetError() string { ...@@ -321,6 +321,13 @@ func (m *AgentServiceResponse_Execute) GetError() string {
type AgentServiceResponse_Attest struct { type AgentServiceResponse_Attest struct {
ExitCode int32 `protobuf:"varint,1,opt,name=exitCode,proto3" json:"exitCode,omitempty"` ExitCode int32 `protobuf:"varint,1,opt,name=exitCode,proto3" json:"exitCode,omitempty"`
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
StatusCode string `protobuf:"bytes,3,opt,name=statusCode,proto3" json:"statusCode,omitempty"`
RequestID string `protobuf:"bytes,4,opt,name=requestID,proto3" json:"requestID,omitempty"`
XIasreportSignature string `protobuf:"bytes,5,opt,name=xIasreportSignature,proto3" json:"xIasreportSignature,omitempty"`
XIasreportSigningCertificate string `protobuf:"bytes,6,opt,name=xIasreportSigningCertificate,proto3" json:"xIasreportSigningCertificate,omitempty"`
ContentLength string `protobuf:"bytes,7,opt,name=contentLength,proto3" json:"contentLength,omitempty"`
ContentType string `protobuf:"bytes,8,opt,name=contentType,proto3" json:"contentType,omitempty"`
Body string `protobuf:"bytes,9,opt,name=body,proto3" json:"body,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -365,6 +372,55 @@ func (m *AgentServiceResponse_Attest) GetError() string { ...@@ -365,6 +372,55 @@ func (m *AgentServiceResponse_Attest) GetError() string {
return "" return ""
} }
func (m *AgentServiceResponse_Attest) GetStatusCode() string {
if m != nil {
return m.StatusCode
}
return ""
}
func (m *AgentServiceResponse_Attest) GetRequestID() string {
if m != nil {
return m.RequestID
}
return ""
}
func (m *AgentServiceResponse_Attest) GetXIasreportSignature() string {
if m != nil {
return m.XIasreportSignature
}
return ""
}
func (m *AgentServiceResponse_Attest) GetXIasreportSigningCertificate() string {
if m != nil {
return m.XIasreportSigningCertificate
}
return ""
}
func (m *AgentServiceResponse_Attest) GetContentLength() string {
if m != nil {
return m.ContentLength
}
return ""
}
func (m *AgentServiceResponse_Attest) GetContentType() string {
if m != nil {
return m.ContentType
}
return ""
}
func (m *AgentServiceResponse_Attest) GetBody() string {
if m != nil {
return m.Body
}
return ""
}
func init() { func init() {
proto.RegisterType((*AgentServiceRequest)(nil), "libenclave_proto.AgentServiceRequest") proto.RegisterType((*AgentServiceRequest)(nil), "libenclave_proto.AgentServiceRequest")
proto.RegisterType((*AgentServiceRequest_Execute)(nil), "libenclave_proto.AgentServiceRequest.Execute") proto.RegisterType((*AgentServiceRequest_Execute)(nil), "libenclave_proto.AgentServiceRequest.Execute")
...@@ -380,27 +436,34 @@ func init() { ...@@ -380,27 +436,34 @@ func init() {
} }
var fileDescriptor_145c985d4df28d67 = []byte{ var fileDescriptor_145c985d4df28d67 = []byte{
// 343 bytes of a gzipped FileDescriptorProto // 455 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xc1, 0x4a, 0xc3, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x6a, 0xdb, 0x40,
0x10, 0x86, 0x69, 0x9b, 0xb6, 0x76, 0x44, 0x2c, 0xdb, 0x1e, 0x42, 0xf0, 0x20, 0x3d, 0x15, 0xb1, 0x10, 0xc6, 0x89, 0x2d, 0xdb, 0xd1, 0x84, 0xd0, 0xb0, 0xce, 0x61, 0x11, 0xa1, 0x84, 0xd0, 0x43,
0x01, 0xf5, 0xa6, 0x20, 0x54, 0xed, 0xa9, 0xb7, 0xd5, 0xbb, 0xa4, 0xe9, 0x50, 0x16, 0x43, 0x76, 0x28, 0x8d, 0xe8, 0x9f, 0x63, 0xa1, 0xe0, 0xfc, 0x39, 0x84, 0xf4, 0xb4, 0xe9, 0xbd, 0xc8, 0xf2,
0xbb, 0xbb, 0x09, 0xed, 0xc5, 0x07, 0xf1, 0x15, 0x7c, 0x49, 0xc9, 0x64, 0xdb, 0xd2, 0x20, 0x18, 0x54, 0x5d, 0x2a, 0x76, 0x95, 0xdd, 0x91, 0xb1, 0x2f, 0x7d, 0xa1, 0xbc, 0x49, 0x9f, 0xaa, 0xec,
0x6f, 0xb3, 0xb3, 0xf3, 0xfd, 0xfc, 0xf3, 0x0f, 0x0c, 0xa2, 0x15, 0xa6, 0x76, 0x62, 0x50, 0xe7, 0x48, 0xb1, 0x63, 0x61, 0x5a, 0xe7, 0x36, 0xfb, 0xed, 0xfc, 0x3e, 0x76, 0xbf, 0x19, 0x18, 0x67,
0x22, 0xc6, 0x50, 0x69, 0x69, 0x25, 0xeb, 0x27, 0x62, 0x81, 0x69, 0x9c, 0x44, 0x39, 0xbe, 0x53, 0x05, 0x1a, 0xba, 0xf0, 0xe8, 0xe6, 0x3a, 0xc7, 0xb4, 0x72, 0x96, 0xac, 0x38, 0x2a, 0xf5, 0x14,
0x67, 0xf4, 0xdd, 0x82, 0xc1, 0xb4, 0x98, 0x7c, 0x2d, 0x07, 0x39, 0xae, 0x33, 0x34, 0x96, 0x4d, 0x4d, 0x5e, 0x66, 0x73, 0xfc, 0xce, 0xca, 0xd9, 0x63, 0x1f, 0xc6, 0x93, 0xd0, 0x79, 0xdf, 0x34,
0xc1, 0xc3, 0x0d, 0xc6, 0x7e, 0xe3, 0xb2, 0x31, 0x3e, 0xbd, 0x9d, 0x84, 0x55, 0x30, 0xfc, 0x05, 0x2a, 0x7c, 0xa8, 0xd1, 0x93, 0x98, 0x40, 0x84, 0x0b, 0xcc, 0xe5, 0xde, 0xe9, 0xde, 0xf9, 0xc1,
0x0a, 0x67, 0x1b, 0x8c, 0x33, 0x8b, 0x9c, 0x50, 0xf6, 0x08, 0xde, 0x87, 0x48, 0x12, 0xbf, 0x49, 0xc7, 0x8b, 0xb4, 0x0b, 0xa6, 0x5b, 0xa0, 0xf4, 0x66, 0x81, 0x79, 0x4d, 0xa8, 0x18, 0x15, 0x5f,
0x12, 0x57, 0xf5, 0x24, 0xe6, 0x22, 0x49, 0x38, 0x71, 0xec, 0x05, 0x3a, 0x91, 0xb5, 0x68, 0xac, 0x20, 0xfa, 0xa5, 0xcb, 0x52, 0xf6, 0xd8, 0xe2, 0xed, 0x6e, 0x16, 0x77, 0xba, 0x2c, 0x15, 0x73,
0xdf, 0x22, 0x85, 0xeb, 0x7a, 0x0a, 0x53, 0x62, 0xb8, 0x63, 0x83, 0x1b, 0xe8, 0x3a, 0x5b, 0x8c, 0xe2, 0x1a, 0x86, 0x19, 0x11, 0x7a, 0x92, 0x7d, 0x76, 0x78, 0xb7, 0x9b, 0xc3, 0x84, 0x19, 0xd5,
0x81, 0x17, 0xe9, 0x55, 0x4e, 0x3b, 0xf5, 0x38, 0xd5, 0x45, 0x0f, 0xd3, 0x5c, 0x91, 0xc9, 0x1e, 0xb2, 0xc9, 0x07, 0x18, 0xb5, 0xcf, 0x12, 0x02, 0xa2, 0xcc, 0x15, 0x73, 0xfe, 0x53, 0xac, 0xb8,
0xa7, 0x3a, 0xf0, 0xc1, 0x2b, 0x6c, 0xb0, 0x3e, 0xb4, 0x8c, 0x58, 0xd1, 0x78, 0x9b, 0x17, 0x65, 0x0e, 0x1a, 0x9a, 0x79, 0xc5, 0x8f, 0x8c, 0x15, 0xd7, 0x89, 0x84, 0x28, 0x3c, 0x43, 0x1c, 0x41,
0xf0, 0x09, 0x9d, 0x52, 0xbe, 0xe0, 0x8c, 0x12, 0xcb, 0x9d, 0x56, 0x51, 0xb3, 0x31, 0x9c, 0x9b, 0xdf, 0xeb, 0x82, 0xdb, 0x07, 0x2a, 0x94, 0xc9, 0x6f, 0x18, 0x36, 0xf6, 0x81, 0xf3, 0x95, 0x9e,
0x6c, 0x61, 0x62, 0x2d, 0x94, 0x15, 0x32, 0x9d, 0xe3, 0xd6, 0xc9, 0x56, 0xdb, 0xcc, 0x87, 0xae, 0x3d, 0x79, 0x85, 0x5a, 0x9c, 0xc3, 0x2b, 0x5f, 0x4f, 0x7d, 0xee, 0x74, 0x45, 0xda, 0x9a, 0x3b,
0xd2, 0x72, 0x99, 0xc5, 0xe5, 0x6e, 0x67, 0x7c, 0xf7, 0x64, 0x17, 0xd0, 0x5b, 0x67, 0xd2, 0xe2, 0x5c, 0xb6, 0xb6, 0x5d, 0x59, 0x48, 0x18, 0x55, 0xce, 0xce, 0xea, 0xbc, 0xf9, 0xdb, 0xa1, 0x7a,
0xdb, 0x56, 0xa1, 0xef, 0xd1, 0xdf, 0xa1, 0x31, 0xfa, 0x6a, 0xc2, 0xf0, 0x78, 0x67, 0xa3, 0x64, 0x3a, 0x8a, 0x13, 0x88, 0x1f, 0x6a, 0x4b, 0xf8, 0x6d, 0x59, 0xa1, 0x8c, 0xf8, 0x6e, 0x2d, 0x9c,
0x6a, 0x90, 0x3d, 0x1d, 0x9d, 0x2b, 0xfc, 0x2b, 0xa9, 0x92, 0xaa, 0xdc, 0x6b, 0xb6, 0xcf, 0xbb, 0x3d, 0x46, 0x70, 0xbc, 0xf9, 0x67, 0x5f, 0x59, 0xe3, 0x51, 0x5c, 0x6e, 0x8c, 0x2b, 0xfd, 0x5f,
0x59, 0xef, 0xe8, 0x4e, 0xa5, 0x12, 0xf8, 0xc3, 0x21, 0xf0, 0x00, 0x4e, 0x70, 0x23, 0xec, 0xb3, 0x52, 0x0d, 0xd5, 0x99, 0xd7, 0xcd, 0x2a, 0xef, 0xde, 0x6e, 0x43, 0x6f, 0x5d, 0x3a, 0x81, 0x7f,
0x5c, 0xa2, 0x4b, 0x71, 0xff, 0x66, 0x43, 0x68, 0xa3, 0xd6, 0x52, 0xbb, 0x88, 0xca, 0x47, 0x70, 0x5e, 0x07, 0x9e, 0xc0, 0x3e, 0x2e, 0x34, 0x5d, 0xd9, 0x19, 0xb6, 0x29, 0xae, 0xce, 0xe2, 0x18,
0xbf, 0x0f, 0xf8, 0xdf, 0xec, 0xa2, 0x43, 0x1e, 0xef, 0x7e, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x06, 0xe8, 0x9c, 0x75, 0x6d, 0x44, 0xcd, 0x21, 0xf9, 0xd3, 0x5b, 0x25, 0xfc, 0x62, 0x58, 0xbc,
0xac, 0x2e, 0xf0, 0xfa, 0x02, 0x00, 0x00, 0x06, 0xf0, 0x94, 0x51, 0xed, 0x99, 0xe9, 0xf3, 0xd5, 0x33, 0x25, 0x64, 0xeb, 0x9a, 0x25, 0xb9,
0xbd, 0xe6, 0x6c, 0x63, 0xb5, 0x16, 0xc4, 0x7b, 0x18, 0x2f, 0x6e, 0x33, 0xef, 0xb0, 0xb2, 0x8e,
0xee, 0x75, 0x61, 0x32, 0xaa, 0x1d, 0xca, 0x01, 0xf7, 0x6d, 0xbb, 0x12, 0x97, 0x70, 0xb2, 0x29,
0x6b, 0x53, 0x5c, 0xa1, 0x23, 0xfd, 0x43, 0xe7, 0x19, 0xa1, 0x1c, 0x32, 0xfa, 0xcf, 0x1e, 0xf1,
0x06, 0x0e, 0x73, 0x6b, 0x08, 0x0d, 0x7d, 0x45, 0x53, 0xd0, 0x4f, 0x39, 0x62, 0x68, 0x53, 0x14,
0xa7, 0x70, 0xd0, 0x0a, 0xbc, 0x17, 0xfb, 0xdc, 0xf3, 0x5c, 0x0a, 0xfb, 0x38, 0xb5, 0xb3, 0xa5,
0x8c, 0x9b, 0x7d, 0x0c, 0xf5, 0x74, 0xc8, 0x43, 0xfb, 0xf4, 0x37, 0x00, 0x00, 0xff, 0xff, 0xd5,
0xb7, 0xb8, 0x57, 0x0b, 0x04, 0x00, 0x00,
} }
...@@ -33,6 +33,13 @@ message AgentServiceResponse { ...@@ -33,6 +33,13 @@ message AgentServiceResponse {
message Attest { message Attest {
int32 exitCode = 1; int32 exitCode = 1;
string error = 2; string error = 2;
string statusCode = 3;
string requestID = 4;
string xIasreportSignature = 5;
string xIasreportSigningCertificate = 6;
string contentLength = 7;
string contentType = 8;
string body = 9;
} }
Execute exec = 1; Execute exec = 1;
......
...@@ -314,6 +314,7 @@ func remoteAttest(agentPipe *os.File, config *configs.InitEnclaveConfig, notifyS ...@@ -314,6 +314,7 @@ func remoteAttest(agentPipe *os.File, config *configs.InitEnclaveConfig, notifyS
err = fmt.Errorf(resp.Attest.Error) err = fmt.Errorf(resp.Attest.Error)
} }
logrus.Infof("In runelet, resp.Attest = %v", resp.Attest)
return resp.Attest.ExitCode, err return resp.Attest.ExitCode, err
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册