@@ -266,6 +266,7 @@ public final class RegistryClient: Cancellable {
266266 package : PackageIdentity ,
267267 version: Version ,
268268 timeout: DispatchTimeInterval ? = . none,
269+ fileSystem: FileSystem ,
269270 observabilityScope: ObservabilityScope ,
270271 callbackQueue: DispatchQueue ,
271272 completion: @escaping ( Result < PackageVersionMetadata , Error > ) -> Void
@@ -286,6 +287,7 @@ public final class RegistryClient: Cancellable {
286287 package : registryIdentity,
287288 version: version,
288289 timeout: timeout,
290+ fileSystem: fileSystem,
289291 observabilityScope: observabilityScope,
290292 callbackQueue: callbackQueue,
291293 completion: completion
@@ -314,6 +316,7 @@ public final class RegistryClient: Cancellable {
314316 package : PackageIdentity . RegistryIdentity ,
315317 version: Version ,
316318 timeout: DispatchTimeInterval ? ,
319+ fileSystem: FileSystem ,
317320 observabilityScope: ObservabilityScope ,
318321 callbackQueue: DispatchQueue ,
319322 completion: @escaping ( Result < PackageVersionMetadata , Error > ) -> Void
@@ -343,6 +346,22 @@ public final class RegistryClient: Cancellable {
343346 signatureBase64Encoded: $0. signatureBase64Encoded,
344347 signatureFormat: $0. signatureFormat
345348 )
349+ } ,
350+ signingEntity: $0. signing. flatMap {
351+ guard let signatureData = Data ( base64Encoded: $0. signatureBase64Encoded) else {
352+ return nil
353+ }
354+ guard let signatureFormat = SignatureFormat ( rawValue: $0. signatureFormat) else {
355+ return nil
356+ }
357+ let configuration = self . configuration. signing ( for: package , registry: registry)
358+ return try ? tsc_await { SignatureValidation . extractSigningEntity (
359+ signature: [ UInt8] ( signatureData) ,
360+ signatureFormat: signatureFormat,
361+ configuration: configuration,
362+ fileSystem: fileSystem,
363+ completion: $0
364+ ) }
346365 }
347366 )
348367 } ,
@@ -501,6 +520,7 @@ public final class RegistryClient: Cancellable {
501520 package : package ,
502521 version: version,
503522 timeout: timeout,
523+ fileSystem: localFileSystem,
504524 observabilityScope: observabilityScope,
505525 callbackQueue: callbackQueue
506526 ) { result in
@@ -733,6 +753,7 @@ public final class RegistryClient: Cancellable {
733753 package : package ,
734754 version: version,
735755 timeout: timeout,
756+ fileSystem: localFileSystem,
736757 observabilityScope: observabilityScope,
737758 callbackQueue: callbackQueue
738759 ) { result in
@@ -950,6 +971,7 @@ public final class RegistryClient: Cancellable {
950971 package : package ,
951972 version: version,
952973 timeout: timeout,
974+ fileSystem: fileSystem,
953975 observabilityScope: observabilityScope,
954976 callbackQueue: callbackQueue
955977 ) { result in
@@ -1839,12 +1861,14 @@ extension RegistryClient {
18391861 public let type : String
18401862 public let checksum : String ?
18411863 public let signing : Signing ?
1864+ public let signingEntity : SigningEntity ?
18421865
1843- public init ( name: String , type: String , checksum: String ? , signing: Signing ? ) {
1866+ public init ( name: String , type: String , checksum: String ? , signing: Signing ? , signingEntity : SigningEntity ? ) {
18441867 self . name = name
18451868 self . type = type
18461869 self . checksum = checksum
18471870 self . signing = signing
1871+ self . signingEntity = signingEntity
18481872 }
18491873 }
18501874
0 commit comments